1. R as a Simple Calculator

Simple calculation

1 + 1 #(for mac, command + enter)
[1] 2
sqrt(36) / 3 + 2 * .5  # 2 + 1
[1] 3
sqrt(36)/3+2*.5
[1] 3
sqrt(36) / (3 + 2 * .5) # some calculations. 
[1] 1.5
?sqrt

Assigning values to an R object

x <- sqrt(36) / 3 + 2 * .5   # you can also use "=" instead of "<-"
x                            # print content of R object "x" on the screen
[1] 3

Simple computations with “x”

7*x
[1] 21
y <- 7*x

y
[1] 21
y/x
[1] 7

Important shortcuts and advice

  • use Ctrl+R (Windows) or Command+Enter (Mac) to run a selection or a single line

  • everything after a pound sign (#) is a commentary

  • (i.e., R does not try to interpret numbers and character strings that follow a pound sign)

  • always try to carefully comment your R-script/R-markdown files

  • develop a clear style in writing R-script/R-markdown files

  • guidelines for a clear style can be found at https://google.github.io/styleguide/Rguide.xml

  • basic terminology for functions:

        function(arg1, arg2, arg3, ...)    e.g.       sqrt(x = 36)
         |          |   |    |                         |   |   |
  function name     arguments            function name / argument name / argument value
                                            "sqrt"            "x"            "36"

Help

?sqrt # see help for sqrt()

2. Set Working Directory

  • You need specify the corresponding path on your computer
setwd('/Users/youmisuk/Box/DS3003/W1 - Syllabus & R intro')  # working directory on my laptop

3. Reading Data

Read tabulator separated data

incex <- read.table('income_exmpl.dat', header = T, sep = "\t")

head(incex)         # print the first 6 lines on the screen
  sex age  edu  occ oexp income
1   f  62  low  low   35    953
2   m  32 high high    6   1224
3   m  56 med. high   36   1466
4   f  63 med. med.   38   1339
5   m  20  low  low    3   1184
6   f  38 med. med.   12   1196
# if the data are not located in the working directory (see setwd()) then you 
# can read the data by specifying the full path

incex <- read.table('/Users/youmisuk/Box/DS3003/W1 - Syllabus & R intro/income_exmpl.dat', 
                    header = T, sep = "\t")

# if an R function requires a character string or name as an argument (e.g., the file name 
# or path), it must be set in quotes ("name" or 'name')

Read comma separated data

?read.csv                   # help on reading CSV data
incex.2 <- read.csv('income_exmpl.csv')

Read other data formats (e.g., SPSS, SAS, or STATA)

  • use the ‘foreign’-package
  • install package from server, for example, in Berkeley
  • alternatively use menu bar, Tools
#install.packages('foreign', repos = 'http://cran.cnr.Berkeley.edu/')   
library(foreign)            # load package (makes its functions available)
#library(help = 'foreign')   # help on the package

#?read.spss                  # help on reading SPSS data files (.sav)
incex.3 <- read.spss('income_exmpl.sav', to.data.frame = TRUE)

Advice

  • If you want to understand an R function you need to carefully read the help file.
  • This saves you from getting cryptic error messages and becoming increasingly frustrated.
  • In particular, look at the default setting of the arguments, e.g. for to.data.frame

4. Generic Functions

Simple description of data structure

# incex              # prints the data on the screen = print(incex)
head(incex, 10)          # returns the first six lines of the data frame
   sex age  edu  occ oexp income
1    f  62  low  low   35    953
2    m  32 high high    6   1224
3    m  56 med. high   36   1466
4    f  63 med. med.   38   1339
5    m  20  low  low    3   1184
6    f  38 med. med.   12   1196
7    f  39 med.  low   13    951
8    f  53  low  low   30   1039
9    m  49  low med.   31   1438
10   f  54  low  low   30   1000
tail(incex)          # returns the last six lines of the data frame
     sex age  edu  occ oexp income
1922   m  28  low med.   11   1256
1923   m  25  low  low    8   1429
1924   f  33 high high    5   1659
1925   f  35 med. med.   12   1141
1926   f  59 med. high   34   1399
1927   m  57  low high   39   1370
incex[1:10, ]        # returns the first ten lines by subscripting: incex[rows, cols]
   sex age  edu  occ oexp income
1    f  62  low  low   35    953
2    m  32 high high    6   1224
3    m  56 med. high   36   1466
4    f  63 med. med.   38   1339
5    m  20  low  low    3   1184
6    f  38 med. med.   12   1196
7    f  39 med.  low   13    951
8    f  53  low  low   30   1039
9    m  49  low med.   31   1438
10   f  54  low  low   30   1000
str(incex)           # shows the structure of the data frame
'data.frame':   1922 obs. of  6 variables:
 $ sex   : chr  "f" "m" "m" "f" ...
 $ age   : int  62 32 56 63 20 38 39 53 49 54 ...
 $ edu   : chr  "low" "high" "med." "med." ...
 $ occ   : chr  "low" "high" "high" "med." ...
 $ oexp  : int  35 6 36 38 3 12 13 30 31 30 ...
 $ income: int  953 1224 1466 1339 1184 1196 951 1039 1438 1000 ...
dim(incex)           # dimension of data (rows and colums)
[1] 1922    6
nrow(incex)          # number of rows
[1] 1922
ncol(incex)          # number of columns
[1] 6
names(incex)         # variable names of the data frame
[1] "sex"    "age"    "edu"    "occ"    "oexp"   "income"
dimnames(incex)      # list of row & variable names of the data frame
[[1]]
   [1] "1"    "2"    "3"    "4"    "5"    "6"    "7"    "8"    "9"    "10"  
  [11] "11"   "12"   "13"   "14"   "15"   "16"   "17"   "18"   "19"   "20"  
  [21] "21"   "22"   "23"   "24"   "25"   "26"   "27"   "28"   "29"   "30"  
  [31] "31"   "32"   "33"   "34"   "35"   "36"   "37"   "38"   "39"   "40"  
  [41] "41"   "42"   "43"   "44"   "45"   "46"   "47"   "48"   "49"   "50"  
  [51] "51"   "52"   "53"   "54"   "55"   "56"   "57"   "58"   "59"   "60"  
  [61] "61"   "62"   "63"   "64"   "65"   "66"   "67"   "68"   "69"   "70"  
  [71] "71"   "72"   "73"   "74"   "75"   "76"   "77"   "78"   "79"   "80"  
  [81] "81"   "82"   "83"   "84"   "85"   "86"   "87"   "88"   "89"   "90"  
  [91] "91"   "92"   "93"   "94"   "95"   "96"   "97"   "98"   "99"   "100" 
 [101] "101"  "102"  "103"  "104"  "105"  "106"  "107"  "108"  "109"  "110" 
 [111] "111"  "112"  "113"  "114"  "115"  "116"  "117"  "118"  "119"  "120" 
 [121] "121"  "122"  "123"  "124"  "125"  "126"  "127"  "128"  "129"  "130" 
 [131] "131"  "132"  "133"  "134"  "135"  "136"  "137"  "138"  "139"  "140" 
 [141] "141"  "142"  "143"  "144"  "145"  "146"  "147"  "148"  "149"  "150" 
 [151] "151"  "152"  "153"  "154"  "155"  "156"  "157"  "158"  "159"  "160" 
 [161] "161"  "162"  "163"  "164"  "165"  "166"  "167"  "168"  "169"  "170" 
 [171] "171"  "172"  "173"  "174"  "175"  "176"  "177"  "178"  "179"  "180" 
 [181] "181"  "182"  "183"  "184"  "185"  "186"  "187"  "188"  "189"  "190" 
 [191] "191"  "192"  "193"  "194"  "195"  "196"  "197"  "198"  "199"  "200" 
 [201] "201"  "202"  "203"  "204"  "205"  "206"  "207"  "208"  "209"  "210" 
 [211] "211"  "212"  "213"  "214"  "215"  "216"  "217"  "218"  "219"  "220" 
 [221] "221"  "222"  "223"  "224"  "225"  "226"  "227"  "228"  "229"  "230" 
 [231] "231"  "232"  "233"  "234"  "235"  "236"  "237"  "238"  "239"  "240" 
 [241] "241"  "242"  "243"  "244"  "245"  "246"  "247"  "248"  "249"  "250" 
 [251] "251"  "252"  "253"  "254"  "255"  "256"  "257"  "258"  "259"  "260" 
 [261] "261"  "262"  "263"  "264"  "265"  "266"  "267"  "268"  "269"  "270" 
 [271] "271"  "272"  "273"  "274"  "275"  "276"  "277"  "278"  "279"  "280" 
 [281] "281"  "283"  "284"  "285"  "286"  "287"  "288"  "289"  "290"  "291" 
 [291] "292"  "293"  "294"  "295"  "296"  "297"  "298"  "299"  "300"  "301" 
 [301] "302"  "303"  "304"  "305"  "306"  "307"  "308"  "309"  "310"  "311" 
 [311] "312"  "313"  "314"  "315"  "316"  "317"  "318"  "319"  "320"  "321" 
 [321] "322"  "323"  "324"  "325"  "326"  "327"  "328"  "329"  "330"  "331" 
 [331] "332"  "333"  "334"  "335"  "336"  "337"  "338"  "339"  "340"  "341" 
 [341] "342"  "343"  "344"  "345"  "346"  "347"  "348"  "349"  "350"  "351" 
 [351] "352"  "353"  "354"  "355"  "356"  "357"  "358"  "359"  "360"  "361" 
 [361] "362"  "363"  "364"  "365"  "366"  "367"  "368"  "369"  "370"  "371" 
 [371] "372"  "373"  "374"  "375"  "376"  "377"  "378"  "379"  "380"  "381" 
 [381] "382"  "383"  "384"  "385"  "386"  "387"  "388"  "389"  "390"  "391" 
 [391] "392"  "393"  "394"  "395"  "396"  "397"  "398"  "399"  "400"  "401" 
 [401] "402"  "403"  "404"  "405"  "406"  "407"  "408"  "409"  "410"  "411" 
 [411] "412"  "413"  "414"  "415"  "416"  "417"  "418"  "419"  "420"  "421" 
 [421] "422"  "423"  "424"  "425"  "426"  "427"  "428"  "429"  "430"  "431" 
 [431] "432"  "433"  "434"  "435"  "436"  "437"  "438"  "439"  "440"  "441" 
 [441] "442"  "443"  "444"  "445"  "446"  "447"  "448"  "449"  "450"  "451" 
 [451] "452"  "453"  "454"  "455"  "456"  "457"  "458"  "459"  "460"  "461" 
 [461] "462"  "463"  "464"  "465"  "466"  "467"  "468"  "469"  "470"  "471" 
 [471] "472"  "473"  "474"  "475"  "476"  "477"  "478"  "479"  "480"  "481" 
 [481] "482"  "483"  "484"  "485"  "486"  "487"  "488"  "489"  "490"  "491" 
 [491] "492"  "493"  "494"  "495"  "496"  "497"  "498"  "499"  "500"  "501" 
 [501] "502"  "503"  "504"  "505"  "506"  "507"  "508"  "509"  "510"  "511" 
 [511] "512"  "513"  "514"  "515"  "516"  "517"  "518"  "519"  "520"  "521" 
 [521] "522"  "523"  "524"  "525"  "526"  "527"  "528"  "529"  "530"  "531" 
 [531] "532"  "533"  "534"  "535"  "536"  "537"  "538"  "539"  "540"  "541" 
 [541] "542"  "543"  "544"  "545"  "546"  "547"  "548"  "549"  "550"  "551" 
 [551] "552"  "553"  "554"  "555"  "556"  "557"  "558"  "559"  "560"  "561" 
 [561] "562"  "563"  "564"  "565"  "566"  "567"  "568"  "569"  "570"  "571" 
 [571] "572"  "573"  "574"  "575"  "576"  "577"  "578"  "579"  "580"  "581" 
 [581] "582"  "583"  "584"  "585"  "586"  "587"  "588"  "589"  "590"  "591" 
 [591] "592"  "593"  "594"  "595"  "596"  "597"  "598"  "599"  "600"  "601" 
 [601] "602"  "603"  "604"  "605"  "606"  "608"  "609"  "610"  "611"  "612" 
 [611] "613"  "614"  "615"  "616"  "617"  "618"  "619"  "620"  "621"  "622" 
 [621] "623"  "624"  "625"  "626"  "627"  "628"  "629"  "630"  "631"  "632" 
 [631] "633"  "634"  "635"  "636"  "637"  "638"  "639"  "640"  "641"  "642" 
 [641] "643"  "644"  "645"  "646"  "647"  "648"  "649"  "650"  "651"  "652" 
 [651] "653"  "654"  "655"  "656"  "657"  "658"  "659"  "660"  "661"  "662" 
 [661] "663"  "664"  "665"  "666"  "667"  "668"  "669"  "670"  "671"  "672" 
 [671] "673"  "674"  "675"  "676"  "677"  "678"  "679"  "680"  "681"  "682" 
 [681] "683"  "684"  "685"  "686"  "687"  "688"  "689"  "690"  "691"  "692" 
 [691] "693"  "694"  "695"  "696"  "697"  "698"  "699"  "700"  "701"  "702" 
 [701] "703"  "704"  "705"  "706"  "707"  "708"  "709"  "710"  "711"  "712" 
 [711] "713"  "714"  "715"  "716"  "717"  "718"  "719"  "720"  "721"  "722" 
 [721] "723"  "724"  "725"  "726"  "727"  "728"  "729"  "730"  "731"  "732" 
 [731] "733"  "734"  "735"  "736"  "737"  "738"  "739"  "740"  "741"  "742" 
 [741] "743"  "744"  "745"  "746"  "747"  "748"  "749"  "750"  "751"  "752" 
 [751] "753"  "754"  "755"  "756"  "757"  "758"  "759"  "760"  "761"  "762" 
 [761] "763"  "764"  "765"  "766"  "767"  "768"  "769"  "770"  "771"  "772" 
 [771] "773"  "774"  "775"  "776"  "777"  "778"  "779"  "780"  "781"  "782" 
 [781] "783"  "784"  "785"  "786"  "787"  "789"  "790"  "791"  "792"  "793" 
 [791] "794"  "795"  "796"  "797"  "798"  "799"  "800"  "801"  "802"  "803" 
 [801] "804"  "805"  "806"  "807"  "808"  "809"  "810"  "811"  "812"  "813" 
 [811] "814"  "815"  "816"  "817"  "818"  "819"  "820"  "821"  "822"  "823" 
 [821] "824"  "825"  "826"  "827"  "828"  "829"  "830"  "831"  "832"  "833" 
 [831] "834"  "835"  "836"  "837"  "838"  "839"  "840"  "841"  "842"  "843" 
 [841] "844"  "845"  "846"  "847"  "848"  "849"  "850"  "851"  "852"  "853" 
 [851] "854"  "855"  "856"  "857"  "858"  "859"  "860"  "861"  "862"  "863" 
 [861] "864"  "865"  "866"  "867"  "868"  "869"  "870"  "871"  "872"  "873" 
 [871] "874"  "875"  "876"  "877"  "878"  "879"  "880"  "881"  "882"  "883" 
 [881] "884"  "885"  "886"  "887"  "888"  "889"  "890"  "891"  "892"  "893" 
 [891] "894"  "895"  "896"  "897"  "898"  "899"  "900"  "901"  "902"  "903" 
 [901] "904"  "905"  "906"  "907"  "908"  "909"  "910"  "911"  "912"  "913" 
 [911] "914"  "915"  "916"  "917"  "918"  "919"  "920"  "921"  "922"  "923" 
 [921] "924"  "925"  "926"  "927"  "928"  "929"  "930"  "931"  "932"  "933" 
 [931] "934"  "935"  "936"  "937"  "938"  "939"  "940"  "941"  "942"  "943" 
 [941] "944"  "945"  "946"  "947"  "948"  "949"  "950"  "951"  "952"  "953" 
 [951] "954"  "955"  "956"  "957"  "958"  "959"  "960"  "961"  "962"  "963" 
 [961] "964"  "965"  "966"  "967"  "968"  "969"  "970"  "971"  "972"  "973" 
 [971] "974"  "975"  "976"  "977"  "978"  "979"  "980"  "981"  "982"  "983" 
 [981] "984"  "985"  "986"  "987"  "988"  "989"  "990"  "991"  "992"  "993" 
 [991] "994"  "995"  "996"  "997"  "998"  "999"  "1000" "1001" "1002" "1003"
[1001] "1004" "1005" "1006" "1007" "1008" "1009" "1010" "1011" "1012" "1013"
[1011] "1014" "1015" "1016" "1017" "1018" "1019" "1020" "1021" "1022" "1023"
[1021] "1024" "1025" "1026" "1027" "1028" "1029" "1030" "1031" "1032" "1033"
[1031] "1034" "1035" "1036" "1037" "1038" "1039" "1040" "1041" "1042" "1043"
[1041] "1044" "1045" "1046" "1047" "1048" "1049" "1050" "1051" "1052" "1053"
[1051] "1054" "1055" "1056" "1057" "1058" "1059" "1060" "1061" "1062" "1063"
[1061] "1064" "1065" "1066" "1067" "1068" "1069" "1070" "1071" "1072" "1073"
[1071] "1074" "1075" "1076" "1077" "1078" "1079" "1080" "1081" "1082" "1083"
[1081] "1084" "1085" "1086" "1087" "1088" "1089" "1090" "1091" "1092" "1093"
[1091] "1094" "1095" "1096" "1097" "1098" "1100" "1101" "1102" "1103" "1104"
[1101] "1105" "1106" "1107" "1108" "1109" "1110" "1111" "1112" "1113" "1114"
[1111] "1115" "1116" "1117" "1118" "1119" "1120" "1121" "1122" "1123" "1124"
[1121] "1125" "1126" "1127" "1128" "1129" "1130" "1131" "1132" "1133" "1134"
[1131] "1135" "1136" "1137" "1138" "1139" "1140" "1141" "1142" "1143" "1144"
[1141] "1145" "1146" "1147" "1148" "1149" "1150" "1151" "1152" "1153" "1154"
[1151] "1155" "1156" "1157" "1158" "1159" "1160" "1161" "1162" "1163" "1164"
[1161] "1165" "1166" "1167" "1168" "1169" "1170" "1171" "1172" "1173" "1174"
[1171] "1175" "1176" "1177" "1178" "1179" "1180" "1181" "1182" "1183" "1184"
[1181] "1185" "1186" "1187" "1188" "1189" "1190" "1191" "1192" "1193" "1194"
[1191] "1195" "1196" "1197" "1198" "1199" "1200" "1201" "1202" "1203" "1204"
[1201] "1205" "1206" "1207" "1208" "1209" "1210" "1211" "1212" "1213" "1214"
[1211] "1215" "1216" "1217" "1218" "1219" "1220" "1221" "1222" "1223" "1224"
[1221] "1225" "1226" "1227" "1228" "1229" "1230" "1231" "1232" "1233" "1234"
[1231] "1235" "1236" "1237" "1238" "1239" "1240" "1241" "1242" "1243" "1244"
[1241] "1245" "1246" "1247" "1248" "1249" "1250" "1251" "1252" "1253" "1254"
[1251] "1255" "1256" "1257" "1258" "1259" "1260" "1261" "1262" "1263" "1264"
[1261] "1265" "1266" "1267" "1268" "1269" "1270" "1271" "1272" "1273" "1274"
[1271] "1275" "1276" "1277" "1278" "1279" "1280" "1281" "1282" "1284" "1285"
[1281] "1286" "1287" "1288" "1289" "1290" "1291" "1292" "1293" "1294" "1295"
[1291] "1296" "1297" "1298" "1299" "1300" "1301" "1302" "1303" "1304" "1305"
[1301] "1306" "1307" "1308" "1309" "1310" "1311" "1312" "1313" "1314" "1315"
[1311] "1316" "1317" "1318" "1319" "1320" "1321" "1322" "1323" "1324" "1325"
[1321] "1326" "1327" "1328" "1329" "1330" "1331" "1332" "1333" "1334" "1335"
[1331] "1336" "1337" "1338" "1339" "1340" "1341" "1342" "1343" "1344" "1345"
[1341] "1346" "1347" "1348" "1349" "1350" "1351" "1352" "1353" "1354" "1355"
[1351] "1356" "1357" "1358" "1359" "1360" "1361" "1362" "1363" "1364" "1365"
[1361] "1366" "1367" "1368" "1369" "1370" "1371" "1372" "1373" "1374" "1375"
[1371] "1376" "1377" "1378" "1379" "1380" "1381" "1382" "1383" "1384" "1385"
[1381] "1386" "1387" "1388" "1389" "1390" "1391" "1392" "1393" "1394" "1395"
[1391] "1396" "1397" "1398" "1399" "1400" "1401" "1402" "1403" "1404" "1405"
[1401] "1406" "1407" "1408" "1409" "1410" "1411" "1412" "1413" "1414" "1415"
[1411] "1416" "1417" "1418" "1419" "1420" "1421" "1422" "1423" "1424" "1425"
[1421] "1426" "1427" "1428" "1429" "1430" "1431" "1432" "1433" "1434" "1435"
[1431] "1436" "1437" "1438" "1439" "1440" "1441" "1442" "1443" "1444" "1445"
[1441] "1446" "1447" "1448" "1449" "1450" "1451" "1452" "1453" "1454" "1455"
[1451] "1456" "1457" "1458" "1459" "1460" "1461" "1462" "1463" "1464" "1465"
[1461] "1466" "1467" "1468" "1469" "1470" "1471" "1472" "1473" "1474" "1475"
[1471] "1476" "1477" "1478" "1479" "1480" "1481" "1482" "1483" "1484" "1485"
[1481] "1486" "1487" "1488" "1489" "1490" "1491" "1492" "1493" "1494" "1495"
[1491] "1496" "1497" "1498" "1499" "1500" "1501" "1502" "1503" "1504" "1505"
[1501] "1506" "1507" "1508" "1509" "1510" "1511" "1512" "1513" "1514" "1515"
[1511] "1516" "1517" "1518" "1519" "1520" "1521" "1522" "1523" "1524" "1525"
[1521] "1526" "1527" "1528" "1529" "1530" "1531" "1532" "1533" "1534" "1535"
[1531] "1536" "1537" "1538" "1539" "1540" "1541" "1542" "1543" "1544" "1545"
[1541] "1546" "1547" "1548" "1549" "1550" "1551" "1552" "1553" "1554" "1555"
[1551] "1556" "1557" "1558" "1559" "1560" "1561" "1562" "1563" "1564" "1565"
[1561] "1566" "1567" "1568" "1569" "1570" "1571" "1572" "1573" "1574" "1575"
[1571] "1576" "1577" "1578" "1579" "1580" "1581" "1582" "1583" "1584" "1585"
[1581] "1586" "1587" "1588" "1589" "1590" "1591" "1592" "1593" "1594" "1595"
[1591] "1596" "1597" "1598" "1599" "1600" "1601" "1602" "1603" "1604" "1605"
[1601] "1606" "1607" "1608" "1609" "1610" "1611" "1612" "1613" "1614" "1615"
[1611] "1616" "1617" "1618" "1619" "1620" "1621" "1622" "1623" "1624" "1625"
[1621] "1626" "1627" "1628" "1629" "1630" "1631" "1632" "1633" "1634" "1635"
[1631] "1636" "1637" "1638" "1639" "1640" "1641" "1642" "1643" "1644" "1645"
[1641] "1646" "1647" "1648" "1649" "1650" "1651" "1652" "1653" "1654" "1655"
[1651] "1656" "1657" "1658" "1659" "1660" "1661" "1662" "1663" "1664" "1665"
[1661] "1666" "1667" "1668" "1669" "1670" "1671" "1672" "1673" "1674" "1675"
[1671] "1676" "1677" "1678" "1679" "1680" "1681" "1682" "1683" "1684" "1685"
[1681] "1686" "1687" "1688" "1689" "1690" "1691" "1692" "1693" "1694" "1695"
[1691] "1696" "1697" "1698" "1699" "1700" "1701" "1702" "1703" "1704" "1705"
[1701] "1706" "1707" "1708" "1709" "1710" "1711" "1712" "1713" "1714" "1715"
[1711] "1716" "1717" "1718" "1719" "1720" "1721" "1722" "1723" "1724" "1725"
[1721] "1726" "1727" "1728" "1729" "1730" "1731" "1732" "1733" "1734" "1735"
[1731] "1736" "1737" "1738" "1739" "1740" "1741" "1742" "1743" "1744" "1745"
[1741] "1746" "1747" "1748" "1749" "1750" "1751" "1752" "1753" "1754" "1755"
[1751] "1756" "1757" "1758" "1759" "1760" "1761" "1762" "1763" "1764" "1765"
[1761] "1766" "1767" "1768" "1769" "1770" "1771" "1772" "1773" "1774" "1775"
[1771] "1776" "1777" "1778" "1779" "1780" "1781" "1782" "1783" "1784" "1785"
[1781] "1786" "1787" "1788" "1789" "1790" "1791" "1792" "1793" "1794" "1795"
[1791] "1796" "1797" "1798" "1799" "1800" "1801" "1802" "1803" "1804" "1805"
[1801] "1806" "1807" "1808" "1809" "1810" "1811" "1812" "1813" "1814" "1815"
[1811] "1816" "1817" "1818" "1819" "1820" "1821" "1822" "1823" "1824" "1825"
[1821] "1826" "1827" "1828" "1829" "1830" "1831" "1832" "1833" "1834" "1835"
[1831] "1836" "1837" "1838" "1839" "1840" "1841" "1842" "1843" "1844" "1845"
[1841] "1846" "1847" "1848" "1849" "1850" "1851" "1852" "1853" "1854" "1855"
[1851] "1856" "1857" "1858" "1859" "1860" "1861" "1862" "1863" "1864" "1865"
[1861] "1866" "1867" "1868" "1869" "1870" "1871" "1872" "1873" "1874" "1875"
[1871] "1876" "1877" "1878" "1879" "1880" "1881" "1882" "1883" "1884" "1885"
[1881] "1886" "1887" "1888" "1889" "1890" "1891" "1892" "1893" "1894" "1895"
[1891] "1896" "1897" "1898" "1899" "1900" "1901" "1902" "1903" "1904" "1905"
[1901] "1906" "1907" "1908" "1909" "1910" "1911" "1912" "1913" "1914" "1915"
[1911] "1916" "1917" "1918" "1919" "1920" "1921" "1922" "1923" "1924" "1925"
[1921] "1926" "1927"

[[2]]
[1] "sex"    "age"    "edu"    "occ"    "oexp"   "income"
class(incex)         # type (class) of R-object: data.frame
[1] "data.frame"
# incex$age          # extracts & prints the "age" variable from the data frame
head(incex$age)      # returns the first six lines of age variable
[1] 62 32 56 63 20 38
class(incex$age)     # class of age variable: integer vector
[1] "integer"
length(incex$edu)    # length of the factor (number of observations)
[1] 1922
# incex$edu          # extrats & print the factor values on the screen
head(incex$edu)      # returns the first six lines of edu variable
[1] "low"  "high" "med." "med." "low"  "med."
class(incex$edu)     # class of edu variable: factor (vector of categorical values)
[1] "character"
nlevels(incex$edu)   # number of factor levels
[1] 0
levels(incex$edu)    # levels of the factor
NULL

Checking available objects & search path

objects()            # lists the objects accessible to you; alternatively: ls()
[1] "incex"   "incex.2" "incex.3" "x"       "y"      
search()             # lists attached packages, and R objects,
 [1] ".GlobalEnv"        "package:foreign"   "package:stats"    
 [4] "package:graphics"  "package:grDevices" "package:utils"    
 [7] "package:datasets"  "package:methods"   "Autoloads"        
[10] "package:base"     
rm(incex.2, incex.3) # removes the two data sets
objects()
[1] "incex" "x"     "y"    

Getting help

help(mean)           # get help on R-objects (mostly functions)
?mean                # alternative version

help.search('mean')  # if you don't know the name of the function (object)
??mean               # alternative version

apropos('mean')      # searches for objects (incl. functions) containing "mean" 
                     # in their name

????mean             # if you still cannot find what you want

help.start()         # help "menu"

Creating a Vector of Sequences

                     # creates a vector of numeric values
                     # combines (concatenates) single values to a vector
c(1, 2, 3)           # very frequently used (whenever you have to pass a vector to a function)!
[1] 1 2 3
c('apple', 'tree')   # combines character strings into a character vector
[1] "apple" "tree" 
c(3, 'apple')        # transforms 3 into a character string ("3")
[1] "3"     "apple"

- EXAMPLE 1: assign/store a vector of values

x <- c(21, -3, .003)
x
[1] 21.000 -3.000  0.003
(y <- c('X1', 'X2', 'Y1', 'Y2'))   
[1] "X1" "X2" "Y1" "Y2"
# putting the assingment in parentheses "()" is equivalent to print() ... print on screen 

- EXAMPLE 2: extract variable ‘age’ and ‘occ’ from the incex data frame

# incex[, c('age', 'occ')]  # character strings 'age' and 'occ' need to be combined
head(incex[, c('age', 'occ')])
  age  occ
1  62  low
2  32 high
3  56 high
4  63 med.
5  20  low
6  38 med.

- EXAMPLE 3: extract rows and columns from a data frame

  • use the sequence operator ‘:’
1:3                  # sequence of integers from 1 to 3; is the same as c(1, 2, 3)
[1] 1 2 3
3:1                  # sequence of integers from 3 to 1; is the same as c(3, 2, 1)
[1] 3 2 1
-25:-78
 [1] -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43
[20] -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62
[39] -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78
?':'                 # get help for ':'; need quotes since the colon is a special symbol

incex[1:10, c('age', 'occ')]  
   age  occ
1   62  low
2   32 high
3   56 high
4   63 med.
5   20  low
6   38 med.
7   39  low
8   53  low
9   49 med.
10  54  low
incex[1:10, c(2, 4)]
   age  occ
1   62  low
2   32 high
3   56 high
4   63 med.
5   20  low
6   38 med.
7   39  low
8   53  low
9   49 med.
10  54  low
incex[c(1:10, 20:25), c(2, 4)]
   age  occ
1   62  low
2   32 high
3   56 high
4   63 med.
5   20  low
6   38 med.
7   39  low
8   53  low
9   49 med.
10  54  low
20  58 high
21  26  low
22  35 high
23  34 med.
24  43 high
25  49 high
c(1:10, 20:25)
 [1]  1  2  3  4  5  6  7  8  9 10 20 21 22 23 24 25

the “sequence” function seq()

?seq
seq(from = 1, to = 3, by = 1)
[1] 1 2 3
seq(from = 1, by = 1, to = 3)
[1] 1 2 3
seq(1, 3, 1)         # don't need the argument names if we list arguments in default order
[1] 1 2 3
seq(-2, 3, by = .25)
 [1] -2.00 -1.75 -1.50 -1.25 -1.00 -0.75 -0.50 -0.25  0.00  0.25  0.50  0.75
[13]  1.00  1.25  1.50  1.75  2.00  2.25  2.50  2.75  3.00
seq(-2, 3, length = 20)
 [1] -2.0000000 -1.7368421 -1.4736842 -1.2105263 -0.9473684 -0.6842105
 [7] -0.4210526 -0.1578947  0.1052632  0.3684211  0.6315789  0.8947368
[13]  1.1578947  1.4210526  1.6842105  1.9473684  2.2105263  2.4736842
[19]  2.7368421  3.0000000

- EXAMPLE 1: use seq() for generating quantiles

?quantile
seq(0, 1, .25)
[1] 0.00 0.25 0.50 0.75 1.00
quantile(incex$income, probs = seq(0, 1, .25))   # quartiles
     0%     25%     50%     75%    100% 
 704.00 1117.00 1304.00 1505.75 2115.00 
quantile(incex$income, probs = seq(0, 1, .1))    # deciles
    0%    10%    20%    30%    40%    50%    60%    70%    80%    90%   100% 
 704.0  982.2 1081.0 1155.3 1228.4 1304.0 1383.6 1462.0 1538.0 1650.9 2115.0 
seq(0, 1, .1)
 [1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

- EXAMPLE 2: use seq() for plotting histograms

?hist
hist(incex$income, breaks = seq(500, 2500, 100)) # bin-width of 100 EUR 

hist(incex$income, breaks = seq(500, 2500, 50))  # bin-width of 50 EUR

- EXAMPLE 3: use seq() for generating names (e.g., for factor levels or plotting)

?paste
paste('age:', seq(15, 70, 5))        # paste() builds a vector of character strings 
 [1] "age: 15" "age: 20" "age: 25" "age: 30" "age: 35" "age: 40" "age: 45"
 [8] "age: 50" "age: 55" "age: 60" "age: 65" "age: 70"
paste('age: ', seq(15, 70, 5), '-', seq(19, 74, 5), ' years', sep = '')
 [1] "age: 15-19 years" "age: 20-24 years" "age: 25-29 years" "age: 30-34 years"
 [5] "age: 35-39 years" "age: 40-44 years" "age: 45-49 years" "age: 50-54 years"
 [9] "age: 55-59 years" "age: 60-64 years" "age: 65-69 years" "age: 70-74 years"
                       # shorter vectors (e.g., 'age', '-', are automatically recycled!

the “replicate” function rep()

rep(7, times = 10)
 [1] 7 7 7 7 7 7 7 7 7 7
rep(7, 10)
 [1] 7 7 7 7 7 7 7 7 7 7
rep(1:3, 10)
 [1] 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
rep(1:3, each = 10)
 [1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3
rep(1:3, c(2, 5, 7))
 [1] 1 1 2 2 2 2 2 3 3 3 3 3 3 3
?rep

rep(c(5, -1, 3, 0), each = 3)
 [1]  5  5  5 -1 -1 -1  3  3  3  0  0  0
rep(c('one', 'two', 'three'), 1:3)   # works also with character strings
[1] "one"   "two"   "two"   "three" "three" "three"

- EXAMPLE: generate a combination of character strings (or create factor combinations)

A <- paste(rep('a', 5), 1:5, sep = '')
# two factors A and B with 5 and 10 factor levels each:
# a1, a2, ..., a5, and b1, b2, ..., b10
# first, create vector of factor levels:
(A <- paste(rep('a', 5), 1:5, sep = ''))
[1] "a1" "a2" "a3" "a4" "a5"
(A <- paste('a', 1:5, sep = ''))     # even shorter (R recycles 'a' five times)
[1] "a1" "a2" "a3" "a4" "a5"
(B <- paste('b', 1:10, sep = ''))
 [1] "b1"  "b2"  "b3"  "b4"  "b5"  "b6"  "b7"  "b8"  "b9"  "b10"
# second, create all possible combinations of A and B 


cbind(rep(A, each = 10), rep(B, 5))  # cbind() binds the two vectors into a column matrix
      [,1] [,2] 
 [1,] "a1" "b1" 
 [2,] "a1" "b2" 
 [3,] "a1" "b3" 
 [4,] "a1" "b4" 
 [5,] "a1" "b5" 
 [6,] "a1" "b6" 
 [7,] "a1" "b7" 
 [8,] "a1" "b8" 
 [9,] "a1" "b9" 
[10,] "a1" "b10"
[11,] "a2" "b1" 
[12,] "a2" "b2" 
[13,] "a2" "b3" 
[14,] "a2" "b4" 
[15,] "a2" "b5" 
[16,] "a2" "b6" 
[17,] "a2" "b7" 
[18,] "a2" "b8" 
[19,] "a2" "b9" 
[20,] "a2" "b10"
[21,] "a3" "b1" 
[22,] "a3" "b2" 
[23,] "a3" "b3" 
[24,] "a3" "b4" 
[25,] "a3" "b5" 
[26,] "a3" "b6" 
[27,] "a3" "b7" 
[28,] "a3" "b8" 
[29,] "a3" "b9" 
[30,] "a3" "b10"
[31,] "a4" "b1" 
[32,] "a4" "b2" 
[33,] "a4" "b3" 
[34,] "a4" "b4" 
[35,] "a4" "b5" 
[36,] "a4" "b6" 
[37,] "a4" "b7" 
[38,] "a4" "b8" 
[39,] "a4" "b9" 
[40,] "a4" "b10"
[41,] "a5" "b1" 
[42,] "a5" "b2" 
[43,] "a5" "b3" 
[44,] "a5" "b4" 
[45,] "a5" "b5" 
[46,] "a5" "b6" 
[47,] "a5" "b7" 
[48,] "a5" "b8" 
[49,] "a5" "b9" 
[50,] "a5" "b10"
cbind(rep(A, each = 10), B)          # shorter: use the recycling rule
           B    
 [1,] "a1" "b1" 
 [2,] "a1" "b2" 
 [3,] "a1" "b3" 
 [4,] "a1" "b4" 
 [5,] "a1" "b5" 
 [6,] "a1" "b6" 
 [7,] "a1" "b7" 
 [8,] "a1" "b8" 
 [9,] "a1" "b9" 
[10,] "a1" "b10"
[11,] "a2" "b1" 
[12,] "a2" "b2" 
[13,] "a2" "b3" 
[14,] "a2" "b4" 
[15,] "a2" "b5" 
[16,] "a2" "b6" 
[17,] "a2" "b7" 
[18,] "a2" "b8" 
[19,] "a2" "b9" 
[20,] "a2" "b10"
[21,] "a3" "b1" 
[22,] "a3" "b2" 
[23,] "a3" "b3" 
[24,] "a3" "b4" 
[25,] "a3" "b5" 
[26,] "a3" "b6" 
[27,] "a3" "b7" 
[28,] "a3" "b8" 
[29,] "a3" "b9" 
[30,] "a3" "b10"
[31,] "a4" "b1" 
[32,] "a4" "b2" 
[33,] "a4" "b3" 
[34,] "a4" "b4" 
[35,] "a4" "b5" 
[36,] "a4" "b6" 
[37,] "a4" "b7" 
[38,] "a4" "b8" 
[39,] "a4" "b9" 
[40,] "a4" "b10"
[41,] "a5" "b1" 
[42,] "a5" "b2" 
[43,] "a5" "b3" 
[44,] "a5" "b4" 
[45,] "a5" "b5" 
[46,] "a5" "b6" 
[47,] "a5" "b7" 
[48,] "a5" "b8" 
[49,] "a5" "b9" 
[50,] "a5" "b10"
# create a vector of character strings (of combinations)
paste(rep(A, each = 10), rep(B, 5), sep = '*')
 [1] "a1*b1"  "a1*b2"  "a1*b3"  "a1*b4"  "a1*b5"  "a1*b6"  "a1*b7"  "a1*b8" 
 [9] "a1*b9"  "a1*b10" "a2*b1"  "a2*b2"  "a2*b3"  "a2*b4"  "a2*b5"  "a2*b6" 
[17] "a2*b7"  "a2*b8"  "a2*b9"  "a2*b10" "a3*b1"  "a3*b2"  "a3*b3"  "a3*b4" 
[25] "a3*b5"  "a3*b6"  "a3*b7"  "a3*b8"  "a3*b9"  "a3*b10" "a4*b1"  "a4*b2" 
[33] "a4*b3"  "a4*b4"  "a4*b5"  "a4*b6"  "a4*b7"  "a4*b8"  "a4*b9"  "a4*b10"
[41] "a5*b1"  "a5*b2"  "a5*b3"  "a5*b4"  "a5*b5"  "a5*b6"  "a5*b7"  "a5*b8" 
[49] "a5*b9"  "a5*b10"

Basic Data Manipulations

Accessing a data frame (selecting columns & rows)

incex$age          # selects 'age'-variable using $
incex[, 'age']     # selects 'age'-variable using [..]
incex[, 2]         # selects 2nd column
incex[1:10, ]        # selects rows 1 to 10
   sex age  edu  occ oexp income
1    f  62  low  low   35    953
2    m  32 high high    6   1224
3    m  56 med. high   36   1466
4    f  63 med. med.   38   1339
5    m  20  low  low    3   1184
6    f  38 med. med.   12   1196
7    f  39 med.  low   13    951
8    f  53  low  low   30   1039
9    m  49  low med.   31   1438
10   f  54  low  low   30   1000
incex[1:10, 2]       # selects rows 1 to 10 of age
 [1] 62 32 56 63 20 38 39 53 49 54
incex[1:10, 'age']   # selects rows 1 to 10 of age
 [1] 62 32 56 63 20 38 39 53 49 54
incex$age[1:10]      # first select age then rows 1 to 10
 [1] 62 32 56 63 20 38 39 53 49 54

- EXAMPLE: select a random sample of 20 observations

smpl.ind <- sample(1:nrow(incex), size = 20)
smpl.ind
 [1] 1356 1087 1819 1908 1472   67 1644  269  857 1688 1282  753  576 1428  279
[16]  331 1181 1349 1043   38
incex[smpl.ind, ] 
     sex age  edu  occ oexp income
1361   m  43  low med.   25   1034
1090   m  43 med. med.   21   1402
1824   m  47 med. med.   26   1538
1913   m  30  low med.   11   1075
1477   f  39  low  low   19   1034
67     m  27  low  low   10   1141
1649   f  22 high high    0   1385
269    f  25  low  low    3    853
860    m  44 med. med.   24   1119
1693   m  27  low  low    9    937
1287   f  55  low med.   35   1385
755    m  57 med. med.   36   1506
577    m  24  low  low    5   1053
1433   m  42 high high   16   1772
279    m  29 high high    4   1624
332    f  62 med. med.   38   1240
1185   m  52  low med.   33   1425
1354   f  35 med. med.    9   1168
1046   f  48 high high   19   1432
38     m  45 med. high   24   1593
# alternatively (without creating the smpl.ind object):
incex[sample(1:nrow(incex), size = 20), ]  
     sex age  edu  occ oexp income
831    m  27  low  low    9   1263
1667   m  28 med. med.    7   1377
601    m  46 med.  low   24   1423
1775   m  53 high high   28   1769
1357   m  27 high high    2   1579
1755   m  30 med. med.    8   1363
634    m  50  low med.   31   1206
473    f  58  low  low   36   1226
883    m  40 high high   15   1546
830    m  47 med. med.   27   1433
466    m  37  low med.   19   1397
1494   f  57  low  low   34   1233
308    m  54  low med.   36   1309
1255   f  33  low  low   13    999
1155   f  42 med. med.   17   1217
1669   m  22 high med.    0   1290
313    f  23 med.  low    0   1104
1321   f  25  low  low    4    879
862    m  27 med. med.    5   1235
1814   f  24  low  low    0    780

Selecting subsets of data using indices

age <- incex$age     # creates new object of name "age" (ie, creates a copy)
dim(age)             # does not work since age is no longer a data frame but a vector
NULL
length(age)
[1] 1922
age[10:20]           # only one argument in brackets since a vector has only 
 [1] 54 51 52 25 58 40 59 31 48 34 58
                     # one dimension (rows)
age[seq(1, length(age), by = 5)]  # select each 5th value (starting with first obs.)
  [1] 62 38 51 59 26 39 38 59 37 44 24 45 28 51 45 59 47 18 19 51 36 58 46 47 56
 [26] 22 51 62 22 62 55 50 35 39 25 37 44 57 36 48 19 59 48 54 33 52 42 45 50 37
 [51] 36 31 35 25 33 41 29 36 43 35 27 29 40 25 25 26 62 18 50 36 42 44 56 36 35
 [76] 58 28 26 27 37 48 36 60 58 53 57 25 35 23 58 45 38 42 26 26 39 65 26 24 60
[101] 42 60 45 52 63 51 24 39 58 28 39 37 51 47 30 24 31 20 41 39 30 31 58 28 57
[126] 42 52 25 39 40 40 31 41 22 27 23 52 53 27 60 40 42 35 47 27 47 34 34 32 57
[151] 53 45 32 47 42 55 28 31 54 25 52 42 39 62 53 50 25 45 59 40 56 55 24 34 44
[176] 46 25 43 59 37 60 25 51 54 42 38 48 31 53 26 38 46 26 55 35 27 57 38 42 51
[201] 33 31 41 53 36 47 51 39 57 23 55 49 45 43 64 31 19 53 60 45 59 40 35 33 50
[226] 24 55 36 40 59 42 25 52 39 52 52 52 49 38 54 30 46 54 37 32 54 51 41 48 46
[251] 33 39 41 28 25 36 26 40 46 24 43 50 54 25 26 40 60 60 30 28 23 43 41 32 52
[276] 42 63 53 43 49 60 43 30 43 37 51 37 50 28 32 43 30 23 61 37 50 51 42 37 57
[301] 47 55 41 46 24 32 47 64 33 33 38 27 57 54 37 27 42 26 25 48 32 34 55 24 27
[326] 36 35 35 37 60 21 23 53 37 36 29 31 60 48 30 21 49 46 56 58 49 43 29 22 48
[351] 32 21 29 39 42 44 22 30 36 49 42 58 55 32 40 60 49 57 26 34 57 31 54 51 47
[376] 30 58 24 53 23 26 52 29 31 59
age[-(10:1700)]      # all values except values #10 to #1700
  [1] 62 32 56 63 20 38 39 53 49 21 49 18 27 30 49 53 37 58 51 46 45 27 32 42 56
 [26] 42 64 25 51 58 39 24 24 40 49 30 51 35 34 43 55 58 37 54 29 41 34 55 62 22
 [51] 43 46 27 55 48 64 58 62 30 32 54 32 47 30 21 52 37 51 43 29 23 53 25 53 39
 [76] 36 48 35 53 42 39 25 35 54 44 48 41 47 36 22 42 39 21 54 30 25 64 36 32 36
[101] 56 39 61 54 49 30 44 58 46 42 41 55 24 54 58 26 58 24 32 55 51 30 62 43 32
[126] 58 29 47 38 40 42 57 26 22 60 35 50 32 26 49 37 34 52 37 57 38 48 25 49 26
[151] 32 42 30 26 34 46 47 23 29 57 55 28 56 52 31 19 53 62 26 54 37 52 48 56 51
[176] 26 62 36 22 47 44 33 54 45 30 33 33 30 56 58 35 28 64 45 24 60 32 41 58 53
[201] 31 39 40 45 23 34 28 50 62 26 56 41 41 32 52 48 30 53 55 29 46 45 33 35 31
[226] 28 25 33 35 59 57
age[-c(1:9, 21:length(age))]      # all values except ...
 [1] 54 51 52 25 58 40 59 31 48 34 58

Sorting data

                     # sort age from the smallest to largest value
                     # note: the age variable 'age' remains unsorted since we
sort(age)            # didn't save the sorted vector: age <- sort(age)
   [1] 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 20 20 20 20
  [25] 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21
  [49] 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
  [73] 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23
  [97] 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24
 [121] 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24
 [145] 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
 [169] 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
 [193] 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26
 [217] 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26
 [241] 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27
 [265] 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27
 [289] 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28
 [313] 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28
 [337] 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29
 [361] 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29
 [385] 29 29 29 29 29 29 29 29 29 29 29 29 29 29 30 30 30 30 30 30 30 30 30 30
 [409] 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
 [433] 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 31 31 31 31 31 31 31
 [457] 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
 [481] 31 31 31 31 31 31 31 31 31 31 31 31 32 32 32 32 32 32 32 32 32 32 32 32
 [505] 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
 [529] 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 33 33 33 33 33 33 33 33
 [553] 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33
 [577] 33 33 33 33 33 33 33 33 33 33 33 34 34 34 34 34 34 34 34 34 34 34 34 34
 [601] 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34
 [625] 34 34 34 34 34 34 34 34 34 34 34 34 34 35 35 35 35 35 35 35 35 35 35 35
 [649] 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
 [673] 35 35 35 35 35 35 35 35 35 35 35 35 35 36 36 36 36 36 36 36 36 36 36 36
 [697] 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36
 [721] 36 36 36 36 36 36 36 36 36 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37
 [745] 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37
 [769] 37 37 37 37 37 37 37 37 37 37 37 37 37 37 38 38 38 38 38 38 38 38 38 38
 [793] 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 39 39 39 39
 [817] 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39
 [841] 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 40 40 40 40
 [865] 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
 [889] 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 41 41 41 41 41 41
 [913] 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41
 [937] 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 42 42 42 42 42 42
 [961] 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42
 [985] 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 43
[1009] 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
[1033] 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 44 44 44 44 44 44
[1057] 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44
[1081] 44 44 44 44 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
[1105] 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
[1129] 45 45 45 45 45 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46
[1153] 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 47
[1177] 47 47 47 47 47 47 47 47 47 47 47 47 47 47 47 47 47 47 47 47 47 47 47 47
[1201] 47 47 47 47 47 47 47 47 47 47 47 47 47 47 47 47 47 47 47 47 47 47 47 48
[1225] 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
[1249] 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
[1273] 48 48 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49
[1297] 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49 49
[1321] 49 49 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
[1345] 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 51 51 51 51 51
[1369] 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51
[1393] 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51
[1417] 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52
[1441] 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52
[1465] 52 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53
[1489] 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53
[1513] 53 53 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54
[1537] 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 55 55 55 55 55 55 55 55
[1561] 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
[1585] 55 55 55 55 55 55 55 55 55 55 55 55 56 56 56 56 56 56 56 56 56 56 56 56
[1609] 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56
[1633] 56 56 56 56 56 56 56 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57
[1657] 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57
[1681] 57 57 57 57 57 57 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58
[1705] 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58
[1729] 58 58 58 58 58 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59
[1753] 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59
[1777] 59 59 59 59 59 59 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60
[1801] 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 61 61 61 61
[1825] 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 62 62 62 62
[1849] 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62
[1873] 62 62 62 62 62 62 62 62 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63
[1897] 63 63 63 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 65 65 65 65 65 65
[1921] 65 65
order(age)           # returns the sorting index (for sorting)
   [1]   27   86  336  473  554  570  888 1037 1133 1244 1464 1703   91  201
  [15]  353  470  480 1081 1407 1857    5   53  300  580  585  586  609  673
  [29]  748  817  989 1013 1018 1325 1515   88  158  280  399  448  679  860
  [43] 1109 1290 1430 1498 1560 1602 1651 1659 1701 1756 1784   98  126  141
  [57]  232  313  337  485  495  666  693  984 1014 1135 1197 1265 1288 1305
  [71] 1329 1417 1418 1448 1482 1618 1644 1664 1741 1781 1825 1870   57   93
  [85]  145  184  205  215  312  324  385  403  427  441  676  758  994 1046
  [99] 1059 1078 1113 1298 1323 1345 1351 1461 1492 1512 1656 1674 1762 1849
 [113] 1896   51  114  119  143  463  491  531  576  640  664  747  819  850
 [127]  861  908  942  960  973 1053 1084 1094 1104 1126 1293 1296 1310 1322
 [141] 1373 1415 1429 1521 1544 1616 1723 1724 1804 1809 1886   13   47   60
 [155]  110  123  171  182  266  269  274  316  321  431  573  636  642  672
 [169]  723  762  784  796  802  818  831  881  897  906  969 1003 1118 1152
 [183] 1156 1159 1188 1232 1247 1271 1279 1316 1353 1379 1394 1432 1450 1463
 [197] 1499 1519 1525 1591 1609 1613 1615 1649 1660 1677 1700 1719 1764 1773
 [211] 1787 1839 1918   21  125  326  373  386  428  435  443  466  471  486
 [225]  499  510  613  633  677  793  815  946  957  961  993  995 1122 1157
 [239] 1168 1203 1222 1257 1281 1294 1320 1321 1369 1442 1529 1537 1586 1612
 [253] 1697 1807 1824 1830 1841 1845 1860 1867 1901   67  127  129  142  222
 [267]  240  301  329  333  390  391  407  469  540  542  595  659  667  671
 [281]  683  691  703  721  760  803  828  859  976 1020 1025 1052 1119 1164
 [295] 1218 1248 1352 1443 1513 1556 1565 1576 1621 1622 1639 1658 1687 1688
 [309] 1704 1713 1744   29   61  189  220  253  381  546  616  744  763  781
 [323]  855  990  997 1075 1082 1142 1148 1264 1266 1346 1348 1350 1367 1398
 [337] 1400 1441 1467 1474 1579 1588 1625 1640 1662 1853 1883 1898 1917   63
 [351]  128  172  177  248  279  281  287  288  306  349  425  434  557  574
 [365]  628  718  740  799  812  863  914  948 1040 1080 1115 1180 1200 1255
 [379] 1287 1358 1364 1365 1408 1413 1414 1455 1532 1570 1583 1592 1655 1673
 [393] 1676 1736 1761 1818 1850 1911   34   48  120  162  188  325  444  457
 [407]  478  563  571  594  601  654  708  729  889  915 1004 1015 1028 1067
 [421] 1097 1139 1140 1183 1201 1214 1339 1341 1411 1423 1456 1483 1595 1608
 [435] 1617 1634 1696 1705 1727 1750 1755 1786 1797 1813 1844 1876 1879 1908
 [449]   17   90  256  283  357  375  442  498  548  581  606  656  660  694
 [463]  738  769  786  804  824  848  873  910  936  978 1006 1076 1098 1154
 [477] 1175 1210 1223 1237 1269 1340 1377 1462 1470 1514 1550 1562 1681 1856
 [491] 1892 1916    2   95  124  170  252  259  270  323  338  343  455  583
 [505]  587  592  603  685  741  759  761  772  820  890  972  985 1160 1179
 [519] 1221 1242 1253 1330 1334 1366 1446 1468 1505 1520 1526 1574 1585 1594
 [533] 1601 1672 1714 1751 1753 1790 1810 1816 1829 1842 1888 1905  213  221
 [547]  263  271  282  294  389  404  433  460  504  514  560  577  665  690
 [561]  707  710  728  788  893 1001 1062 1095 1116 1117 1169 1235 1251 1397
 [575] 1409 1475 1502 1541 1546 1627 1654 1683 1873 1877 1878 1914 1919   19
 [589]   23   52   79  173  218  239  449  490  512  535  634  668  697  731
 [603]  736  754  840  843  866  869  933  937  962  974 1008 1057 1064 1162
 [617] 1263 1277 1284 1312 1335 1354 1390 1439 1445 1507 1538 1553 1593 1606
 [631] 1645 1667 1730 1738 1833 1846 1897   22   62  161  179  261  296  345
 [645]  371  436  502  505  509  579  614  623  635  638  711  727  949  971
 [659]  983  988 1093 1100 1111 1120 1220 1225 1229 1239 1317 1319 1349 1355
 [673] 1374 1485 1533 1631 1632 1636 1729 1769 1774 1827 1882 1915 1920   37
 [687]   50   69  101  113  191  204  251  286  295  315  319  346  366  368
 [701]  406  418  575  795  807  852  945  982 1021 1022 1042 1090 1130 1136
 [715] 1207 1276 1370 1405 1438 1449 1559 1567 1626 1671 1767 1780 1789 1791
 [729] 1869   41   49   94  176  225  234  246  293  303  396  422  465  525
 [743]  555  556  724  750  800  844  872  896  898  928  943 1010 1185 1189
 [757] 1216 1238 1308 1357 1359 1421 1431 1444 1454 1465 1471 1491 1528 1534
 [771] 1540 1554 1571 1575 1641 1666 1708 1734 1758 1832 1835 1862    6   31
 [785]   45   73   87  363  439  456  503  522  608  720  742  904  912  926
 [799]  951  977  986 1127 1184 1191 1199 1338 1410 1551 1578 1600 1820 1837
 [813]    7   26  166  185  192  250  328  377  437  475  476  520  532  536
 [827]  549  551  596  641  699  734  752  757  764  811  829  832  909  920
 [841]  968 1036 1065 1125 1153 1166 1256 1309 1387 1472 1523 1543 1552 1675
 [855] 1722 1766 1772 1783 1793 1893   15   74  139  217  242  275  311  317
 [869]  330  340  372  388  559  568  588  646  647  651  701  755  790  792
 [883]  845  846  880  903  913 1048 1106 1141 1286 1289 1326 1372 1382 1385
 [897] 1460 1478 1582 1587 1589 1590 1630 1725 1821 1894   89  147  202  254
 [911]  255  276  292  304  305  370  402  477  494  591  602  644  650  661
 [925]  682  779  813  833  902  924 1011 1024 1034 1035 1149 1236 1261 1361
 [939] 1402 1440 1488 1497 1511 1558 1584 1670 1693 1694 1737 1778 1802 1889
 [953] 1903 1904   58  154  157  200  231  344  351  365  378  383  394  432
 [967]  461  492  501  507  553  626  648  678  687  706  737  771  783  806
 [981]  854  870  874  921  991 1044 1143 1144 1151 1228 1245 1252 1376 1428
 [995] 1457 1486 1503 1581 1603 1647 1715 1717 1771 1782 1801 1822 1843   24
[1009]   77  212  233  291  350  367  452  467  584  599  605  625  680  775
[1023]  886 1023 1027 1066 1087 1102 1112 1114 1202 1204 1295 1301 1304 1332
[1037] 1356 1391 1406 1416 1451 1509 1569 1580 1692 1699 1731 1742 1760 1815
[1051]   46  100  104  148  181  198  223  267  278  334  348  356  358  398
[1065]  414  423  459  662  719  849  857  871  950 1134 1155 1230 1307 1389
[1079] 1425 1477 1510 1776 1798 1872   38   55   56   59   71  109  112  115
[1093]  134  195  236  244  310  392  451  511  515  517  643  652  713  732
[1107]  733  756  774  834  836  935 1032 1061 1092 1096 1099 1167 1182 1243
[1121] 1254 1260 1280 1480 1564 1599 1635 1678 1712 1875 1885 1895 1913   83
[1135]   97  111  160  168  243  268  342  379  488  572  582  600  639  730
[1149]  773  853  876  918  952  956  970 1050 1068 1110 1129 1158 1178 1198
[1163] 1206 1246 1291 1327 1487 1516 1530 1652 1711 1743 1800 1847 1912   81
[1177]   92  116  155  183  190  249  302  360  374  382  430  440  497  524
[1191]  564  565  566  612  688  692  716  726  766  787  827  923 1017 1019
[1205] 1026 1190 1193 1205 1384 1393 1452 1501 1531 1535 1629 1642 1650 1684
[1219] 1754 1779 1819 1848 1871   18   68  140  159  196  208  210  211  228
[1233]  285  401  453  484  527  539  610  620  674  702  715  745  765  822
[1247]  867  892  931  954 1033 1043 1069 1124 1213 1240 1241 1272 1273 1424
[1261] 1557 1573 1596 1598 1653 1679 1691 1695 1746 1768 1777 1838 1864 1907
[1275]    9   25  103  108  152  178  207  229  238  260  408  409  410  412
[1289]  534  569  607  629  670  714  794  798  838  865  883  894  899 1029
[1303] 1056 1186 1209 1215 1347 1363 1396 1437 1469 1473 1495 1542 1555 1620
[1317] 1702 1706 1726 1796 1831 1840  130  156  197  241  284  297  341  380
[1331]  429  445  627  632  658  663  675  826  864 1054 1063 1121 1165 1172
[1345] 1174 1250 1285 1297 1306 1314 1360 1375 1395 1436 1447 1476 1484 1494
[1359] 1508 1545 1657 1828 1899   11   28   30   44   66   82   96  102  107
[1373]  131  203  362  479  526  558  561  622  653  739  743  768  797  835
[1387]  911  929  940  996  998 1000 1009 1012 1031 1047 1070 1137 1147 1231
[1401] 1302 1404 1426 1453 1481 1524 1539 1623 1633 1680 1710 1720 1728 1759
[1415] 1812 1866   12   78  105  133  164  187  219  226  265  290  387  438
[1429]  464  516  518  533  547  562  631  681  801  810  878  879  884  887
[1443]  930  934  979 1039 1060 1161 1171 1176 1181 1192 1337 1371 1388 1433
[1457] 1479 1517 1605 1610 1757 1834 1855 1863 1906    8   35  132  149  235
[1471]  354  421  483  529  530  545  597  619  649  686  705  751  809  821
[1485]  825  862  885  941  964  975  999 1016 1049 1085 1086 1128 1212 1224
[1499] 1270 1343 1378 1386 1399 1412 1638 1661 1685 1707 1763 1765 1770 1858
[1513] 1891 1909   10  194  216  307  320  332  364  397  405  474  537  618
[1527]  645  791  877  916  917 1105 1170 1195 1196 1211 1226 1311 1315 1328
[1541] 1403 1548 1566 1665 1735 1752 1775 1785 1795 1805 1861 1874   40   70
[1555]  151  167  384  419  447  450  454  593  615  700  767  776  785  823
[1569]  839  856  875  900  932  966 1005 1051 1055 1089 1107 1131 1145 1282
[1583] 1435 1458 1506 1611 1624 1669 1690 1732 1739 1745 1803 1811 1852 1910
[1597]    3   42   75  117  121  138  180  214  262  264  314  359  361  500
[1611]  523  567  657  830  842  851  938  965  992 1038 1103 1123 1150 1208
[1625] 1434 1493 1563 1568 1572 1597 1607 1648 1689 1716 1792 1854 1865 1880
[1639] 1902   32   33   39   64  122  144  163  174  186  193  199  245  318
[1653]  355  393  426  482  489  621  624  689  725  746  753  837  927  980
[1667]  981  987 1041 1083 1234 1262 1313 1420 1489 1490 1496 1522 1547 1561
[1681] 1668 1698 1823 1836 1851 1922   14   20  106  137  257  299  327  369
[1695]  376  416  446  472  493  519  538  541  552  611  617  630  669  770
[1709]  782  789  922  925  939  967 1007 1074 1187 1194 1219 1275 1278 1527
[1723] 1577 1709 1721 1733 1748 1799 1806 1808 1817 1881 1890   16   36   76
[1737]   80   85  153  206  224  272  273  308  309  322  347  352  395  424
[1751]  458  468  528  598  704  709  749  777  780  841  882  891  947  955
[1765] 1101 1138 1146 1163 1217 1233 1258 1259 1299 1300 1344 1362 1380 1422
[1779] 1604 1614 1643 1921   43  118  135  165  339  411  496  506  550  578
[1793]  589  590  695  696  712  814  847  901  953 1045 1058 1073 1077 1079
[1807] 1091 1177 1267 1268 1318 1331 1336 1392 1401 1518 1646 1686 1826 1887
[1821]   54   99  169  258  298  462  544  637  808  868  905  944  958 1088
[1835] 1303 1342 1459 1466 1504 1549 1619 1628 1663 1794    1   65   72  136
[1849]  146  175  230  331  335  413  487  604  655  698  722  735  778  805
[1863]  816  907  959  963 1002 1072 1227 1274 1283 1324 1383 1682 1740 1749
[1877] 1814 1859 1868 1900    4  150  400  415  420  508  521  543  684 1030
[1891] 1108 1132 1249 1292 1333 1381 1419 1427 1637   84  209  227  237  289
[1905]  417  717  895  919 1071 1536 1718 1747 1788 1884  247  277  481  513
[1919]  858 1173 1368 1500
                     # the first element implies that the samllest one is located on...
rank(age)            # return the rank (with ties)
   [1] 1862.5  518.5 1618.0 1890.0   28.0  797.5  836.5 1490.0 1298.5 1533.5
  [11] 1390.0 1441.0  182.5 1710.0  883.5 1758.0  470.5 1249.0  612.5 1710.0
  [21]  237.5  661.5  612.5 1029.0 1298.5  836.5    6.5 1390.0  330.5 1390.0
  [31]  797.5 1663.0 1663.0  423.5 1490.0 1758.0  707.5 1109.0 1663.0 1574.5
  [41]  756.0 1618.0 1801.5 1390.0  797.5 1067.5  182.5  423.5  756.0  707.5
  [51]  132.5  612.5   28.0 1832.5 1109.0 1109.0   98.0  981.0 1109.0  182.5
  [61]  330.5  661.5  374.0 1663.0 1862.5 1390.0  286.5 1249.0  707.5 1574.5
  [71] 1109.0 1862.5  797.5  883.5 1618.0 1758.0 1029.0 1441.0  612.5 1758.0
  [81] 1199.5 1390.0 1154.5 1907.0 1758.0    6.5  797.5   44.5  930.5  470.5
  [91]   16.5 1199.5   98.0  756.0  518.5 1390.0 1154.5   68.0 1832.5 1067.5
 [101]  707.5 1390.0 1298.5 1067.5 1441.0 1710.0 1390.0 1298.5 1109.0  182.5
 [111] 1154.5 1109.0  707.5  132.5 1109.0 1199.5 1618.0 1801.5  132.5  423.5
 [121] 1618.0 1663.0  182.5  518.5  237.5   68.0  286.5  374.0  286.5 1343.0
 [131] 1390.0 1490.0 1441.0 1109.0 1801.5 1862.5 1710.0 1618.0  883.5 1249.0
 [141]   68.0  286.5  132.5 1663.0   98.0 1862.5  930.5 1067.5 1490.0 1890.0
 [151] 1574.5 1298.5 1758.0  981.0 1199.5 1343.0  981.0   44.5 1249.0 1154.5
 [161]  661.5  423.5 1663.0 1441.0 1801.5  836.5 1574.5 1154.5 1832.5  518.5
 [171]  182.5  374.0  612.5 1663.0 1862.5  756.0  374.0 1298.5  661.5 1618.0
 [181] 1067.5  182.5 1199.5   98.0  836.5 1663.0 1441.0  423.5  330.5 1199.5
 [191]  707.5  836.5 1663.0 1533.5 1109.0 1249.0 1343.0 1067.5 1663.0  981.0
 [201]   16.5  930.5 1390.0  707.5   98.0 1758.0 1298.5 1249.0 1907.0 1249.0
 [211] 1249.0 1029.0  566.0 1618.0   98.0 1533.5  883.5  612.5 1441.0  330.5
 [221]  566.0  286.5 1067.5 1758.0  756.0 1441.0 1907.0 1249.0 1298.5 1862.5
 [231]  981.0   68.0 1029.0  756.0 1490.0 1109.0 1907.0 1298.5  612.5  286.5
 [241] 1343.0  883.5 1154.5 1109.0 1663.0  756.0 1918.5  374.0 1199.5  836.5
 [251]  707.5  518.5  330.5  930.5  930.5  470.5 1710.0 1832.5  518.5 1298.5
 [261]  661.5 1618.0  566.0 1618.0 1441.0  182.5 1067.5 1154.5  182.5  518.5
 [271]  566.0 1758.0 1758.0  182.5  883.5  930.5 1918.5 1067.5  374.0   44.5
 [281]  374.0  566.0  470.5 1343.0 1249.0  707.5  374.0  374.0 1907.0 1441.0
 [291] 1029.0  930.5  756.0  566.0  707.5  661.5 1343.0 1832.5 1710.0   28.0
 [301]  286.5 1199.5  756.0  930.5  930.5  374.0 1533.5 1758.0 1758.0 1109.0
 [311]  883.5   98.0   68.0 1618.0  707.5  182.5  883.5 1663.0  707.5 1533.5
 [321]  182.5 1758.0  518.5   98.0  423.5  237.5 1710.0  836.5  286.5  883.5
 [331] 1862.5 1533.5  286.5 1067.5 1862.5    6.5   68.0  518.5 1801.5  883.5
 [341] 1343.0 1154.5  518.5  981.0  661.5  707.5 1758.0 1067.5  374.0 1029.0
 [351]  981.0 1758.0   16.5 1490.0 1663.0 1067.5  470.5 1067.5 1618.0 1199.5
 [361] 1618.0 1390.0  797.5 1533.5  981.0  707.5 1029.0  707.5 1710.0  930.5
 [371]  661.5  883.5  237.5 1199.5  470.5 1710.0  836.5  981.0 1154.5 1343.0
 [381]  330.5 1199.5  981.0 1574.5   98.0  237.5 1441.0  883.5  566.0  286.5
 [391]  286.5 1109.0 1663.0  981.0 1758.0  756.0 1533.5 1067.5   44.5 1890.0
 [401] 1249.0  930.5   98.0  566.0 1533.5  707.5  286.5 1298.5 1298.5 1298.5
 [411] 1801.5 1298.5 1862.5 1067.5 1890.0 1710.0 1907.0  707.5 1574.5 1890.0
 [421] 1490.0  756.0 1067.5 1758.0  374.0 1663.0   98.0  237.5 1343.0 1199.5
 [431]  182.5  981.0  566.0  374.0  237.5  661.5  836.5 1441.0  797.5 1199.5
 [441]   98.0  470.5  237.5  423.5 1343.0 1710.0 1574.5   44.5  612.5 1574.5
 [451] 1109.0 1029.0 1249.0 1574.5  518.5  797.5  423.5 1758.0 1067.5  566.0
 [461]  981.0 1832.5  132.5 1441.0  756.0  237.5 1029.0 1758.0  286.5   16.5
 [471]  237.5 1710.0    6.5 1533.5  836.5  836.5  930.5  423.5 1390.0   16.5
 [481] 1918.5 1663.0 1490.0 1249.0   68.0  237.5 1862.5 1154.5 1663.0  612.5
 [491]  132.5  981.0 1710.0  930.5   68.0 1801.5 1199.5  470.5  237.5 1618.0
 [501]  981.0  661.5  797.5  566.0  661.5 1801.5  981.0 1890.0  661.5  237.5
 [511] 1109.0  612.5 1918.5  566.0 1109.0 1441.0 1109.0 1441.0 1710.0  836.5
 [521] 1890.0  797.5 1618.0 1199.5  756.0 1390.0 1249.0 1758.0 1490.0 1490.0
 [531]  132.5  836.5 1441.0 1298.5  612.5  836.5 1533.5 1710.0 1249.0  286.5
 [541] 1710.0  286.5 1890.0 1832.5 1490.0  330.5 1441.0  470.5  836.5 1801.5
 [551]  836.5 1710.0  981.0    6.5  756.0  756.0  374.0 1390.0  883.5  566.0
 [561] 1390.0 1441.0  423.5 1199.5 1199.5 1199.5 1618.0  883.5 1298.5    6.5
 [571]  423.5 1154.5  182.5  374.0  707.5  132.5  566.0 1801.5  661.5   28.0
 [581]  470.5 1154.5  518.5 1029.0   28.0   28.0  518.5  883.5 1801.5 1801.5
 [591]  930.5  518.5 1574.5  423.5  286.5  836.5 1490.0 1758.0 1029.0 1154.5
 [601]  423.5  930.5  518.5 1862.5 1029.0  470.5 1298.5  797.5   28.0 1249.0
 [611] 1710.0 1199.5  237.5  661.5 1574.5  330.5 1710.0 1533.5 1490.0 1249.0
 [621] 1663.0 1390.0  661.5 1663.0 1029.0  981.0 1343.0  374.0 1298.5 1710.0
 [631] 1441.0 1343.0  237.5  612.5  661.5  182.5 1832.5  661.5 1154.5  132.5
 [641]  836.5  182.5 1109.0  930.5 1533.5  883.5  883.5  981.0 1490.0  930.5
 [651]  883.5 1109.0 1390.0  423.5 1862.5  470.5 1618.0 1343.0  286.5  470.5
 [661]  930.5 1067.5 1343.0  132.5  566.0   68.0  286.5  612.5 1710.0 1298.5
 [671]  286.5  182.5   28.0 1249.0 1343.0   98.0  237.5  981.0   44.5 1029.0
 [681] 1441.0  930.5  286.5 1890.0  518.5 1490.0  981.0 1199.5 1663.0  566.0
 [691]  286.5 1199.5   68.0  470.5 1801.5 1801.5  612.5 1862.5  836.5 1574.5
 [701]  883.5 1249.0  286.5 1758.0 1490.0  981.0  566.0  423.5 1758.0  566.0
 [711]  661.5 1801.5 1109.0 1298.5 1249.0 1199.5 1907.0  374.0 1067.5  797.5
 [721]  286.5 1862.5  182.5  756.0 1663.0 1199.5  661.5  566.0  423.5 1154.5
 [731]  612.5 1109.0 1109.0  836.5 1862.5  612.5  981.0  470.5 1390.0  374.0
 [741]  518.5  797.5 1390.0  330.5 1249.0 1663.0  132.5   28.0 1758.0  756.0
 [751] 1490.0  836.5 1663.0  612.5  883.5 1109.0  836.5   98.0  518.5  286.5
 [761]  518.5  182.5  330.5  836.5 1249.0 1199.5 1574.5 1390.0  470.5 1710.0
 [771]  981.0  518.5 1154.5 1109.0 1029.0 1574.5 1758.0 1862.5  930.5 1758.0
 [781]  330.5 1710.0  981.0  182.5 1574.5  470.5 1199.5  566.0 1710.0  883.5
 [791] 1533.5  883.5  237.5 1298.5  707.5  182.5 1390.0 1298.5  374.0  756.0
 [801] 1441.0  182.5  286.5  470.5 1862.5  981.0  707.5 1832.5 1490.0 1441.0
 [811]  836.5  374.0  930.5 1801.5  237.5 1862.5   28.0  182.5  132.5  518.5
 [821] 1490.0 1249.0 1574.5  470.5 1490.0 1343.0 1199.5  286.5  836.5 1618.0
 [831]  182.5  836.5  930.5 1109.0 1390.0 1109.0 1663.0 1298.5 1574.5  612.5
 [841] 1758.0 1618.0  612.5  756.0  883.5  883.5 1801.5  470.5 1067.5  132.5
 [851] 1618.0  707.5 1154.5  981.0  330.5 1574.5 1067.5 1918.5  286.5   44.5
 [861]  132.5 1490.0  374.0 1343.0 1298.5  612.5 1249.0 1832.5  612.5  981.0
 [871] 1067.5  756.0  470.5  981.0 1574.5 1154.5 1533.5 1441.0 1441.0  883.5
 [881]  182.5 1758.0 1298.5 1441.0 1490.0 1029.0 1441.0    6.5  423.5  518.5
 [891] 1758.0 1249.0  566.0 1298.5 1907.0  756.0  182.5  756.0 1298.5 1574.5
 [901] 1801.5  930.5  883.5  797.5 1832.5  182.5 1862.5  132.5  836.5  470.5
 [911] 1390.0  797.5  883.5  374.0  423.5 1533.5 1533.5 1154.5 1907.0  836.5
 [921]  981.0 1710.0 1199.5  930.5 1710.0  797.5 1663.0  756.0 1390.0 1441.0
 [931] 1249.0 1574.5  612.5 1441.0 1109.0  470.5  612.5 1618.0 1710.0 1390.0
 [941] 1490.0  132.5  756.0 1832.5  707.5  237.5 1758.0  374.0  661.5 1067.5
 [951]  797.5 1154.5 1801.5 1249.0 1758.0 1154.5  237.5 1832.5 1862.5  132.5
 [961]  237.5  612.5 1862.5 1490.0 1618.0 1574.5 1710.0  836.5  182.5 1154.5
 [971]  661.5  518.5  132.5  612.5 1490.0  286.5  797.5  470.5 1441.0 1663.0
 [981] 1663.0  707.5  661.5   68.0  518.5  797.5 1663.0  661.5   28.0  330.5
 [991]  981.0 1618.0  237.5   98.0  237.5 1390.0  330.5 1390.0 1490.0 1390.0
[1001]  566.0 1862.5  182.5  423.5 1574.5  470.5 1710.0  612.5 1390.0  756.0
[1011]  930.5 1390.0   28.0   68.0  423.5 1490.0 1199.5   28.0 1199.5  286.5
[1021]  707.5  707.5 1029.0  930.5  286.5 1199.5 1029.0  423.5 1298.5 1890.0
[1031] 1390.0 1109.0 1249.0  930.5  930.5  836.5    6.5 1618.0 1441.0  374.0
[1041] 1663.0  707.5 1249.0  981.0 1801.5   98.0 1390.0  883.5 1490.0 1154.5
[1051] 1574.5  286.5  132.5 1343.0 1574.5 1298.5  612.5 1801.5   98.0 1441.0
[1061] 1109.0  566.0 1343.0  612.5  836.5 1029.0  423.5 1154.5 1249.0 1390.0
[1071] 1907.0 1862.5 1801.5 1710.0  330.5  470.5 1801.5   98.0 1801.5  374.0
[1081]   16.5  330.5 1663.0  132.5 1490.0 1490.0 1029.0 1832.5 1574.5  707.5
[1091] 1801.5 1109.0  661.5  132.5  566.0 1109.0  423.5  470.5 1109.0  661.5
[1101] 1758.0 1029.0 1618.0  132.5 1533.5  883.5 1574.5 1890.0   44.5 1154.5
[1111]  661.5 1029.0   98.0 1029.0  374.0  566.0  566.0  182.5  286.5  661.5
[1121] 1343.0  237.5 1618.0 1249.0  836.5  132.5  797.5 1490.0 1154.5  707.5
[1131] 1574.5 1890.0    6.5 1067.5   68.0  707.5 1390.0 1758.0  423.5  423.5
[1141]  883.5  330.5  981.0  981.0 1574.5 1758.0 1390.0  330.5  930.5 1618.0
[1151]  981.0  182.5  836.5  470.5 1067.5  182.5  237.5 1154.5  182.5  518.5
[1161] 1441.0  612.5 1758.0  286.5 1343.0  836.5 1109.0  237.5  566.0 1533.5
[1171] 1441.0 1343.0 1918.5 1343.0  470.5 1441.0 1801.5 1154.5  518.5  374.0
[1181] 1441.0 1109.0  423.5  797.5  756.0 1298.5 1710.0  182.5  756.0 1199.5
[1191]  797.5 1441.0 1199.5 1710.0 1533.5 1533.5   68.0 1154.5  797.5  374.0
[1201]  423.5 1029.0  237.5 1029.0 1199.5 1154.5  707.5 1618.0 1298.5  470.5
[1211] 1533.5 1490.0 1249.0  423.5 1298.5  756.0 1758.0  286.5 1710.0  661.5
[1221]  518.5  237.5  470.5 1490.0  661.5 1533.5 1862.5  981.0  661.5 1067.5
[1231] 1390.0  182.5 1758.0 1663.0  566.0  930.5  470.5  756.0  661.5 1249.0
[1241] 1249.0  518.5 1109.0    6.5  981.0 1154.5  182.5  286.5 1890.0 1343.0
[1251]  566.0  981.0  518.5 1109.0  374.0  836.5  237.5 1758.0 1758.0 1109.0
[1261]  930.5 1663.0  612.5  330.5   68.0  330.5 1801.5 1801.5  470.5 1490.0
[1271]  182.5 1249.0 1249.0 1862.5 1710.0  707.5  612.5 1710.0  182.5 1109.0
[1281]  237.5 1574.5 1862.5  612.5 1343.0  883.5  374.0   68.0  883.5   44.5
[1291] 1154.5 1890.0  132.5  237.5 1029.0  132.5 1343.0   98.0 1758.0 1758.0
[1301] 1029.0 1390.0 1832.5 1029.0   68.0 1343.0 1067.5  756.0  836.5  132.5
[1311] 1533.5  612.5 1663.0 1343.0 1533.5  182.5  661.5 1801.5  661.5  237.5
[1321]  237.5  132.5   98.0 1862.5   28.0  883.5 1154.5 1533.5   68.0  518.5
[1331] 1801.5 1029.0 1890.0  518.5  612.5 1801.5 1441.0  797.5  423.5  470.5
[1341]  423.5 1832.5 1490.0 1758.0   98.0  330.5 1298.5  330.5  661.5  330.5
[1351]   98.0  286.5  182.5  612.5  661.5 1029.0  756.0  374.0  756.0 1343.0
[1361]  930.5 1758.0 1298.5  374.0  374.0  518.5  330.5 1918.5  237.5  707.5
[1371] 1441.0  883.5  132.5  661.5 1343.0  981.0  470.5 1490.0  182.5 1758.0
[1381] 1890.0  883.5 1862.5 1199.5  883.5 1490.0  836.5 1441.0 1067.5  612.5
[1391] 1029.0 1801.5 1199.5  182.5 1343.0 1298.5  566.0  330.5 1490.0  330.5
[1401] 1801.5  930.5 1533.5 1390.0  707.5 1029.0   16.5  374.0  566.0  797.5
[1411]  423.5 1490.0  374.0  374.0  132.5 1029.0   68.0   68.0 1890.0 1663.0
[1421]  756.0 1758.0  423.5 1249.0 1067.5 1390.0 1890.0  981.0  132.5   44.5
[1431]  756.0  182.5 1441.0 1618.0 1574.5 1343.0 1298.5  707.5  612.5  930.5
[1441]  330.5  237.5  286.5  756.0  612.5  518.5 1343.0   68.0  707.5  182.5
[1451] 1029.0 1199.5 1390.0  756.0  374.0  423.5  981.0 1574.5 1832.5  883.5
[1461]   98.0  470.5  182.5    6.5  756.0 1832.5  330.5  518.5 1298.5  470.5
[1471]  756.0  836.5 1298.5  330.5  566.0 1343.0 1067.5  883.5 1441.0 1109.0
[1481] 1390.0   68.0  423.5 1343.0  661.5  981.0 1154.5  930.5 1663.0 1663.0
[1491]  756.0   98.0 1618.0 1343.0 1298.5 1663.0  930.5   44.5  182.5 1918.5
[1501] 1199.5  566.0  981.0 1832.5  518.5 1574.5  612.5 1343.0 1029.0 1067.5
[1511]  930.5   98.0  286.5  470.5   28.0 1154.5 1441.0 1801.5  182.5  518.5
[1521]  132.5 1663.0  836.5 1390.0  182.5  518.5 1710.0  756.0  237.5 1154.5
[1531] 1199.5  374.0  661.5  756.0 1199.5 1907.0  237.5  612.5 1390.0  756.0
[1541]  566.0 1298.5  836.5  132.5 1343.0  566.0 1663.0 1533.5 1832.5  470.5
[1551]  797.5  836.5  612.5  756.0 1298.5  286.5 1249.0  930.5  707.5   44.5
[1561] 1663.0  470.5 1618.0 1109.0  286.5 1533.5  707.5 1618.0 1029.0  374.0
[1571]  756.0 1618.0 1249.0  518.5  756.0  286.5 1710.0  797.5  330.5 1029.0
[1581]  981.0  883.5  374.0  930.5  518.5  237.5  883.5  330.5  883.5  883.5
[1591]  182.5  374.0  612.5  518.5  423.5 1249.0 1618.0 1249.0 1109.0  797.5
[1601]  518.5   44.5  981.0 1758.0 1441.0  612.5 1618.0  423.5  182.5 1441.0
[1611] 1574.5  237.5  182.5 1758.0  182.5  132.5  423.5   68.0 1832.5 1298.5
[1621]  286.5  286.5 1390.0 1574.5  330.5  707.5  566.0 1832.5 1199.5  883.5
[1631]  661.5  661.5 1390.0  423.5 1109.0  661.5 1890.0 1490.0  286.5  330.5
[1641]  756.0 1199.5 1758.0   68.0  612.5 1801.5  981.0 1618.0  182.5 1199.5
[1651]   44.5 1154.5 1249.0  566.0  374.0   98.0 1343.0  286.5   44.5  182.5
[1661] 1490.0  330.5 1832.5   68.0 1533.5  756.0  612.5 1663.0 1574.5  930.5
[1671]  707.5  518.5  374.0   98.0  836.5  374.0  182.5 1109.0 1249.0 1390.0
[1681]  470.5 1862.5  566.0 1199.5 1490.0 1801.5  286.5  286.5 1618.0 1574.5
[1691] 1249.0 1029.0  930.5  930.5 1249.0  423.5  237.5 1663.0 1029.0  182.5
[1701]   44.5 1298.5    6.5  286.5  423.5 1298.5 1490.0  756.0 1710.0 1390.0
[1711] 1154.5 1109.0  286.5  518.5  981.0 1618.0  981.0 1907.0  182.5 1390.0
[1721] 1710.0  836.5  132.5  132.5  883.5 1298.5  423.5 1390.0  661.5  612.5
[1731] 1029.0 1574.5 1710.0  756.0 1533.5  374.0  930.5  612.5 1574.5 1862.5
[1741]   68.0 1029.0 1154.5  286.5 1574.5 1249.0 1907.0 1710.0 1862.5  423.5
[1751]  518.5 1533.5  518.5 1199.5  423.5   44.5 1441.0  756.0 1390.0 1029.0
[1761]  374.0   98.0 1490.0  182.5 1490.0  836.5  707.5 1249.0  661.5 1490.0
[1771]  981.0  836.5  182.5  661.5 1533.5 1067.5 1249.0  930.5 1199.5  707.5
[1781]   68.0  981.0  836.5   44.5 1533.5  423.5  182.5 1907.0  707.5  518.5
[1791]  707.5 1618.0  836.5 1832.5 1533.5 1298.5  423.5 1067.5 1710.0 1154.5
[1801]  981.0  930.5 1574.5  132.5 1533.5 1710.0  237.5 1710.0  132.5  518.5
[1811] 1574.5 1390.0  423.5 1862.5 1029.0  518.5 1710.0  374.0 1199.5  797.5
[1821]  883.5  981.0 1663.0  237.5   68.0 1801.5  661.5 1343.0  518.5  237.5
[1831] 1298.5  756.0  612.5 1441.0  756.0 1663.0  797.5 1249.0  182.5 1298.5
[1841]  237.5  518.5  981.0  423.5  237.5  612.5 1154.5 1199.5   98.0  374.0
[1851] 1663.0 1574.5  330.5 1618.0 1441.0  470.5   16.5 1490.0 1862.5  237.5
[1861] 1533.5  756.0 1441.0 1249.0 1618.0 1390.0  237.5 1862.5  707.5   68.0
[1871] 1199.5 1067.5  566.0 1533.5 1109.0  423.5  566.0  566.0  423.5 1618.0
[1881] 1710.0  661.5  330.5 1907.0 1109.0  132.5 1801.5  518.5  930.5 1710.0
[1891] 1490.0  470.5  836.5  883.5 1109.0   98.0  612.5  330.5 1343.0 1862.5
[1901]  237.5 1618.0  930.5  930.5  518.5 1441.0 1249.0  423.5 1490.0 1574.5
[1911]  374.0 1154.5 1109.0  566.0  661.5  470.5  330.5  182.5  566.0  661.5
[1921] 1758.0 1663.0

Selecting subsets of a vector using logical vectors

inc <- incex$income
age <- incex$age
age.ord <- order(age)
inc[age.ord[1:10]]               # income of the 10 youngest employees
 [1]  816  987 1303 1308  896 1020  878  989 1354 1623
inc[age == 18]                   # income of 18 years old employees
 [1]  816  987 1303 1308  896 1020  878  989 1354 1623 1233 1108
head(age == 18)                  # creates a logical vector (TRUE, FALSE) and return the first six elements
[1] FALSE FALSE FALSE FALSE FALSE FALSE
inc[age >= 60]                   # income of 60 year old or older employees
  [1]  953 1339 1500 1033 1194 1367 1295 1109 1053 1094 1523 1568 1123 1531 1403
 [16] 1170 1124 1139 1819 1622  946 1629 1682 1747 1714 1240 1722 1273 1337 1198
 [31] 1471 1499 1397 1155 1749 1532 1631 1342 1528 1693 1851 1083 1501 1572 1361
 [46] 1783 1311 1690 1063 1701 1102 1742 1198 1957 1521 1514 1765 1092 1651 1763
 [61] 1663  960  958 1697 1575 1520  948 1821 1106 1184 1237 1046 1093 1470 1550
 [76] 1462 1919 1259 1252 1589 1227  830 1296 1532 1104 1623 1122 1634 1671 1462
 [91] 1591 1637 1248 1517 1399 1356 1572 1399 1904 1086 1201 1474 1690 1157 1172
[106] 1830 1368 1302 1800 1424 1800 1861 1510 1253 1342 1013 1871 1120 1272 1456
[121] 1705 1663 1934 1584 1810 1638 1486 1607 1621 1442 1840 1704 1622 1259 1211
[136] 1817 1907 1572 1565 1438
inc[age <= 30 | age >= 60]       # income of 30 year old or younger, or 60 years or older employees
  [1]  953 1339 1184  962  940  816 1338 1039 1500  977 1191 1095 1007 1033 1268
 [16]  965 1156 1355 1194 1141 1367 1295  987  950 1092 1456 1031 1109 1210  953
 [31] 1053  987 1184  973 1232  951 1137 1094  954 1094 1523 1294 1280 1119 1188
 [46] 1568 1123 1075 1005 1531 1403  843  985 1170 1070 1004 1062 1091 1094  979
 [61] 1010 1124 1069  977 1157 1139 1819 1608 1622 1015  946  782 1376 1629  887
 [76]  853 1060 1682 1624 1065 1073 1111 1104 1747 1714 1033 1276 1229 1104 1073
 [91] 1006 1182 1121 1028 1616 1123 1240  804 1722 1303 1205 1273  951 1517 1234
[106] 1251 1181 1104 1645 1399  863 1337  885 1161 1198 1471 1499 1397 1155 1189
[121] 1472  942 1527 1476  888 1119 1318 1096 1365 1284 1749  941 1070 1119  955
[136] 1384 1308  994 1306 1532 1559 1361 1631  948 1316 1342 1171 1528 1693 1112
[151] 1851 1083 1099 1194 1191 1501 1572 1235 1361  896  962 1353 1020 1508 1813
[166] 1446 1053 1783 1164  858 1152 1311 1690  939 1260 1202 1063 1198  976  715
[181]  917 1041 1089 1701  920 1040  932 1102 1632 1144 1103 1256 1042  789 1049
[196] 1235 1457 1058  909 1742 1215 1181 1198 1957 1521  984 1555 1514 1765  951
[211] 1159 1092  946 1410 1651 1154  791  761 1054  948 1122 1222 1259 1763 1093
[226]  980  994 1078 1232 1044 1292 1663  960 1206  958  841 1697  824  883 1257
[241] 1263  979 1575 1663 1317 1520 1235 1183 1042 1029  948 1012  878 1120 1821
[256] 1266 1106 1184 1102 1237 1160 1557 1242 1046 1052 1093 1022 1246 1470 1476
[271] 1550 1462 1647 1460 1919  942  841 1081 1301 1475 1511 1199 1317 1528  867
[286] 1259 1635  704  876  859 1439 1052 1413  949 1563 1252  989 1301 1589 1365
[301]  955 1137 1227  859 1489  830 1296 1532 1206 1104 1013 1623 1496  887 1333
[316]  732 1122 1634 1341  817  982 1671 1289 1203  924 1181 1027 1490 1409 1462
[331] 1354 1065 1089 1033 1271 1220 1324  798  913  982 1262 1013 1591 1637 1512
[346] 1449 1080 1430 1062 1385 1287 1038  809 1680 1248  999 1623 1015 1274 1517
[361] 1055 1003 1200 1048 1137 1399 1356 1385 1572 1017  904 1399  922 1172 1267
[376] 1904 1284 1242  852 1426 1086 1254 1021  879 1201 1197 1390 1151 1060 1474
[391] 1094 1214 1690 1157 1172 1337 1032 1830 1046 1074 1487 1514  868 1579 1097
[406] 1181 1501 1194 1210 1368 1272 1272 1447 1302 1800 1424 1096 1412 1241 1800
[421]  942 1111 1177 1129 1565  892 1046 1039 1861 1558 1510 1527 1138 1362 1204
[436]  792  899 1074 1760 1176 1165 1253  922 1113 1233 1342 1460 1199 1263 1193
[451] 1133 1007  720 1013 1871  948  940 1370 1120 1281  893 1118 1153 1253 1272
[466] 1018 1568 1456 1288  794 1455 1279  911 1617 1069 1121 1501 1358  887  993
[481] 1313 1226 1154 1092 1365 1239 1481 1141  727 1705 1286  861 1381 1663 1121
[496] 1934 1200 1128 1385 1584 1235 1198 1212 1185 1423  862 1250 1377 1810 1290
[511]  948 1012 1007 1197 1638 1486 1593  937 1092 1222 1336 1141 1108 1141  895
[526] 1196 1607  921 1165 1004 1273 1334 1621 1255 1458 1442 1840 1363  994  917
[541] 1039 1373  903  772 1067 1061 1181 1113 1704 1622 1147 1457 1128  780 1079
[556] 1259  931 1007 1339 1211 1120 1217 1051 1050 1093 1039  823 1222 1192 1817
[571]  863  978 1907 1199 1305 1355 1453 1572  823 1565 1068 1164 1438  782 1075
[586] 1203 1256 1429

Selecting a subset of a data frame

incex[age == 18, c('income', 'edu')]  # select income and educ. level for empl. of age 18
     income  edu
27      816 med.
86      987 med.
337    1303 med.
474    1308 high
555     896  low
571    1020  low
891     878 med.
1040    989  low
1137   1354 high
1248   1623 high
1469   1233 med.
1708   1108  low
incex18 <- subset(incex, age == 18)   # creates a subset of incex 
                                      # (only of 18y old employees)
incex18
     sex age  edu  occ oexp income
27     f  18 med.  low    0    816
86     f  18 med. med.    0    987
337    m  18 med. med.    0   1303
474    f  18 high high    0   1308
555    f  18  low  low    0    896
571    m  18  low  low    0   1020
891    f  18 med.  low    0    878
1040   m  18  low  low    2    989
1137   m  18 high med.    0   1354
1248   m  18 high high    0   1623
1469   m  18 med.  low    0   1233
1708   m  18  low  low    0   1108
# also select variables
subset(incex, age == 18, c(age, edu, occ))
     age  edu  occ
27    18 med.  low
86    18 med. med.
337   18 med. med.
474   18 high high
555   18  low  low
571   18  low  low
891   18 med.  low
1040  18  low  low
1137  18 high med.
1248  18 high high
1469  18 med.  low
1708  18  low  low
subset(incex, age == 18, age:occ)
     age  edu  occ
27    18 med.  low
86    18 med. med.
337   18 med. med.
474   18 high high
555   18  low  low
571   18  low  low
891   18 med.  low
1040  18  low  low
1137  18 high med.
1248  18 high high
1469  18 med.  low
1708  18  low  low

Assigning values to selected cells

age[1:10]
 [1] 62 32 56 63 20 38 39 53 49 54
age[c(3, 7)] <- 0      # assign age of 0 to 3rd and 7th observation
age[1:10]
 [1] 62 32  0 63 20 38  0 53 49 54
age[age < 18] <- NA    # assign a missing value (Not Available) to age values less than 18
age[1:10]
 [1] 62 32 NA 63 20 38 NA 53 49 54

7. Logical Operators

TRUE                 # TRUE
[1] TRUE
FALSE                # FALSE
[1] FALSE
!TRUE                # ! ... logical negation (NOT TRUE)
[1] FALSE
!FALSE               # ! ... logical negation (NOT FALSE)
[1] TRUE
1 == 1               # == ... EQUAL
[1] TRUE
1 == 2
[1] FALSE
1 != 2               # != ... NOT EQUAL
[1] TRUE
'apple' == 'apple'   # logical operations also work for character strings
[1] TRUE
'apple' == 'orange'
[1] FALSE
'apple' != 'orange'
[1] TRUE
c(3, 7, 8) == 7      # logical operation with vectors (elementwise)
[1] FALSE  TRUE FALSE
7 == c(3, 7, 8)
[1] FALSE  TRUE FALSE
c(3, 7, 8) == c(1, 3, 8)
[1] FALSE FALSE  TRUE
c(3, 7, 8) == c(1, 3, 8, 5, 7, 3)  # automatically recycles shorter vector (no warning!!!)
[1] FALSE FALSE  TRUE FALSE  TRUE FALSE
c(3, 7, 8) == c(1, 3, 8, 5, 7)     # automatically recycles shorter vector (warning message)
Warning in c(3, 7, 8) == c(1, 3, 8, 5, 7): longer object length is not a
multiple of shorter object length
[1] FALSE FALSE  TRUE FALSE  TRUE
TRUE & TRUE          # & ... logical AND
[1] TRUE
TRUE & FALSE
[1] FALSE
FALSE & FALSE
[1] FALSE
TRUE | TRUE          # | ... logical OR
[1] TRUE
TRUE | FALSE
[1] TRUE
FALSE | FALSE
[1] FALSE
1 == 1 & 'apple' == 'orange'
[1] FALSE
1 == 1 | 'apple' == 'orange'
[1] TRUE

8. Missing data

# ::::: checking for missing values (NA: not available) & selecting complete data :::::
# is.na(incex)         # check for missing values "is not available (na)?"
head(is.na(incex))
    sex   age   edu   occ  oexp income
1 FALSE FALSE FALSE FALSE FALSE  FALSE
2 FALSE FALSE FALSE FALSE FALSE  FALSE
3 FALSE FALSE FALSE FALSE FALSE  FALSE
4 FALSE FALSE FALSE FALSE FALSE  FALSE
5 FALSE FALSE FALSE FALSE FALSE  FALSE
6 FALSE FALSE FALSE FALSE FALSE  FALSE
any(is.na(incex))    # check whether there are any missing values
[1] FALSE
sum(is.na(incex))    # how many missing values? (TRUE=1 and FALSE=0)
[1] 0
# EXAMPLE: data frame with NAs
x.df <- data.frame(a = c(5, 3, 9, NA, 0), b = c(NA, 8, 7, 1, 1))  # generate a data frame
x.df
   a  b
1  5 NA
2  3  8
3  9  7
4 NA  1
5  0  1
is.na(x.df)
         a     b
[1,] FALSE  TRUE
[2,] FALSE FALSE
[3,] FALSE FALSE
[4,]  TRUE FALSE
[5,] FALSE FALSE
any(is.na(x.df))
[1] TRUE
sum(is.na(x.df))
[1] 2
x.df.complete <- na.omit(x.df)  # deletes all rows with a missing (NA)
x.df.complete
  a b
2 3 8
3 9 7
5 0 1

9. Other Data Manipulations

Change order of levels for edu & occ

summary(incex)       # summary stats for each variable of a data frame 
     sex                 age            edu                occ           
 Length:1922        Min.   :18.00   Length:1922        Length:1922       
 Class :character   1st Qu.:31.00   Class :character   Class :character  
 Mode  :character   Median :42.00   Mode  :character   Mode  :character  
                    Mean   :41.69                                        
                    3rd Qu.:52.00                                        
                    Max.   :65.00                                        
      oexp          income    
 Min.   : 0.0   Min.   : 704  
 1st Qu.: 8.0   1st Qu.:1117  
 Median :19.0   Median :1304  
 Mean   :19.5   Mean   :1313  
 3rd Qu.:30.0   3rd Qu.:1506  
 Max.   :48.0   Max.   :2115  
incex$occ <- factor(incex$occ, levels = c('low', 'med.', 'high'))
incex$edu <- factor(incex$edu, levels = c('low', 'med.', 'high'))
incex$sex <- factor(incex$sex, levels = c('m', 'f'), labels = c('male', 'female'))
summary(incex)
     sex            age          edu        occ           oexp     
 male  :1069   Min.   :18.00   low :811   low :595   Min.   : 0.0  
 female: 853   1st Qu.:31.00   med.:692   med.:700   1st Qu.: 8.0  
               Median :42.00   high:419   high:627   Median :19.0  
               Mean   :41.69                         Mean   :19.5  
               3rd Qu.:52.00                         3rd Qu.:30.0  
               Max.   :65.00                         Max.   :48.0  
     income    
 Min.   : 704  
 1st Qu.:1117  
 Median :1304  
 Mean   :1313  
 3rd Qu.:1506  
 Max.   :2115  
head(incex$occ)
[1] low  high high med. low  med.
Levels: low med. high
head(incex$edu)
[1] low  high med. med. low  med.
Levels: low med. high
incex$edu >= 'med.'  # does not work since no order is defined!
Warning in Ops.factor(incex$edu, "med."): '>=' not meaningful for factors
   [1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
  [25] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
  [49] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
  [73] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
  [97] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [121] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [145] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [169] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [193] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [217] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [241] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [265] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [289] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [313] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [337] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [361] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [385] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [409] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [433] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [457] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [481] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [505] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [529] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [553] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [577] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [601] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [625] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [649] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [673] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [697] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [721] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [745] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [769] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [793] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [817] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [841] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [865] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [889] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [913] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [937] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [961] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [985] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1009] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1033] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1057] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1081] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1105] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1129] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1153] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1177] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1201] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1225] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1249] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1273] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1297] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1321] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1345] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1369] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1393] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1417] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1441] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1465] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1489] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1513] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1537] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1561] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1585] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1609] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1633] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1657] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1681] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1705] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1729] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1753] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1777] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1801] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1825] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1849] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1873] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1897] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1921] NA NA
# create ordered factor levels (for ordinal variables)
incex$occ <- factor(incex$occ, levels = c('low', 'med.', 'high'), ordered = T)
incex$edu <- factor(incex$edu, levels = c('low', 'med.', 'high'), ordered = T)
head(incex$occ)
[1] low  high high med. low  med.
Levels: low < med. < high
head(incex$edu)
[1] low  high med. med. low  med.
Levels: low < med. < high
incex$edu >= 'med.'
   [1] FALSE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE FALSE FALSE FALSE  TRUE FALSE
  [13]  TRUE FALSE FALSE FALSE  TRUE FALSE  TRUE  TRUE FALSE  TRUE FALSE  TRUE
  [25]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE FALSE
  [37] FALSE  TRUE  TRUE FALSE  TRUE FALSE FALSE  TRUE  TRUE FALSE FALSE  TRUE
  [49] FALSE FALSE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
  [61]  TRUE  TRUE  TRUE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE FALSE
  [73] FALSE FALSE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE
  [85] FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE FALSE FALSE  TRUE  TRUE  TRUE
  [97]  TRUE FALSE FALSE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE FALSE FALSE  TRUE
 [109] FALSE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE
 [121] FALSE  TRUE FALSE  TRUE FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE FALSE
 [133] FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE  TRUE  TRUE  TRUE
 [145] FALSE  TRUE FALSE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE FALSE FALSE
 [157]  TRUE FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE
 [169] FALSE FALSE FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE FALSE  TRUE FALSE
 [181]  TRUE FALSE FALSE  TRUE FALSE  TRUE  TRUE FALSE  TRUE FALSE FALSE FALSE
 [193]  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE
 [205]  TRUE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE FALSE
 [217] FALSE  TRUE  TRUE  TRUE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE
 [229]  TRUE  TRUE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE
 [241] FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE  TRUE  TRUE  TRUE
 [253]  TRUE FALSE FALSE  TRUE FALSE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
 [265] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE
 [277]  TRUE  TRUE  TRUE  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE  TRUE  TRUE
 [289]  TRUE  TRUE FALSE  TRUE  TRUE  TRUE FALSE FALSE FALSE  TRUE FALSE  TRUE
 [301]  TRUE FALSE  TRUE  TRUE FALSE  TRUE FALSE  TRUE  TRUE  TRUE FALSE  TRUE
 [313] FALSE  TRUE  TRUE FALSE  TRUE FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE
 [325] FALSE  TRUE FALSE FALSE  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE  TRUE
 [337]  TRUE  TRUE FALSE FALSE FALSE  TRUE  TRUE  TRUE FALSE  TRUE FALSE  TRUE
 [349] FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
 [361]  TRUE  TRUE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE
 [373]  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
 [385]  TRUE FALSE FALSE  TRUE FALSE  TRUE  TRUE  TRUE FALSE  TRUE FALSE  TRUE
 [397]  TRUE FALSE FALSE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
 [409] FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE  TRUE FALSE  TRUE FALSE
 [421] FALSE  TRUE FALSE  TRUE FALSE  TRUE  TRUE FALSE FALSE  TRUE  TRUE FALSE
 [433]  TRUE  TRUE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE
 [445]  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE
 [457]  TRUE  TRUE FALSE  TRUE FALSE FALSE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE
 [469]  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE  TRUE
 [481] FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE  TRUE  TRUE  TRUE
 [493]  TRUE FALSE  TRUE  TRUE  TRUE FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE
 [505]  TRUE FALSE FALSE  TRUE  TRUE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE
 [517] FALSE FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE  TRUE
 [529] FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE  TRUE  TRUE FALSE FALSE  TRUE
 [541]  TRUE  TRUE  TRUE FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE  TRUE FALSE
 [553]  TRUE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE  TRUE  TRUE
 [565]  TRUE  TRUE FALSE  TRUE FALSE FALSE  TRUE FALSE  TRUE  TRUE  TRUE FALSE
 [577]  TRUE  TRUE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE
 [589] FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE
 [601] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE  TRUE FALSE  TRUE  TRUE
 [613]  TRUE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE  TRUE
 [625]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE  TRUE  TRUE
 [637]  TRUE  TRUE  TRUE FALSE  TRUE FALSE FALSE  TRUE  TRUE FALSE FALSE  TRUE
 [649]  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE
 [661]  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE
 [673]  TRUE FALSE FALSE  TRUE  TRUE  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE
 [685]  TRUE FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE
 [697] FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE FALSE FALSE  TRUE  TRUE  TRUE
 [709] FALSE  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE  TRUE FALSE  TRUE FALSE
 [721] FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
 [733]  TRUE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE FALSE
 [745] FALSE FALSE FALSE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
 [757]  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE FALSE FALSE  TRUE
 [769] FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE FALSE
 [781]  TRUE  TRUE FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE FALSE  TRUE  TRUE
 [793] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE
 [805]  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE  TRUE
 [817] FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE
 [829]  TRUE  TRUE FALSE FALSE  TRUE FALSE  TRUE  TRUE FALSE FALSE  TRUE  TRUE
 [841]  TRUE FALSE  TRUE FALSE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE FALSE
 [853] FALSE FALSE  TRUE FALSE  TRUE FALSE  TRUE  TRUE  TRUE FALSE FALSE FALSE
 [865]  TRUE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE
 [877] FALSE FALSE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE
 [889]  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE
 [901] FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE  TRUE
 [913] FALSE  TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE  TRUE  TRUE FALSE
 [925]  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE FALSE
 [937]  TRUE  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE
 [949] FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE
 [961]  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE
 [973] FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
 [985] FALSE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
 [997] FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE  TRUE  TRUE  TRUE FALSE
[1009] FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE  TRUE  TRUE
[1021]  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE
[1033] FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE
[1045] FALSE  TRUE  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE  TRUE FALSE  TRUE
[1057]  TRUE FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE  TRUE  TRUE
[1069] FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE  TRUE  TRUE
[1081] FALSE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE FALSE FALSE FALSE  TRUE FALSE
[1093]  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE
[1105] FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE
[1117]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
[1129]  TRUE FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE
[1141]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
[1153] FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE FALSE
[1165]  TRUE FALSE FALSE FALSE  TRUE  TRUE  TRUE FALSE FALSE  TRUE FALSE  TRUE
[1177]  TRUE FALSE  TRUE  TRUE FALSE FALSE  TRUE FALSE  TRUE  TRUE FALSE FALSE
[1189] FALSE  TRUE  TRUE  TRUE FALSE FALSE FALSE  TRUE  TRUE FALSE  TRUE FALSE
[1201]  TRUE FALSE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
[1213]  TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE
[1225]  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE FALSE  TRUE FALSE  TRUE  TRUE
[1237]  TRUE  TRUE  TRUE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE FALSE FALSE
[1249]  TRUE  TRUE FALSE  TRUE  TRUE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE
[1261]  TRUE FALSE  TRUE FALSE FALSE  TRUE FALSE  TRUE FALSE  TRUE  TRUE FALSE
[1273]  TRUE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[1285] FALSE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE
[1297] FALSE  TRUE  TRUE  TRUE FALSE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
[1309]  TRUE  TRUE  TRUE FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE  TRUE  TRUE
[1321]  TRUE FALSE  TRUE FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE  TRUE FALSE
[1333] FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE  TRUE FALSE  TRUE FALSE
[1345]  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE
[1357]  TRUE FALSE  TRUE FALSE  TRUE  TRUE FALSE  TRUE FALSE  TRUE  TRUE FALSE
[1369]  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE FALSE
[1381] FALSE  TRUE FALSE FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE FALSE FALSE
[1393]  TRUE FALSE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE FALSE  TRUE FALSE
[1405]  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE
[1417]  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE
[1429]  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE FALSE
[1441]  TRUE FALSE  TRUE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE
[1453] FALSE  TRUE FALSE FALSE  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE  TRUE
[1465]  TRUE FALSE  TRUE FALSE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE FALSE  TRUE
[1477] FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE FALSE  TRUE
[1489] FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE FALSE FALSE FALSE
[1501] FALSE FALSE  TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE  TRUE  TRUE
[1513]  TRUE FALSE  TRUE  TRUE  TRUE FALSE  TRUE FALSE FALSE FALSE  TRUE  TRUE
[1525] FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE FALSE  TRUE  TRUE
[1537] FALSE FALSE  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE FALSE  TRUE FALSE
[1549] FALSE  TRUE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE
[1561]  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE
[1573] FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
[1585]  TRUE FALSE FALSE  TRUE  TRUE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE
[1597] FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE  TRUE  TRUE FALSE
[1609]  TRUE FALSE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE FALSE FALSE FALSE
[1621]  TRUE FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
[1633]  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE
[1645]  TRUE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE
[1657] FALSE  TRUE FALSE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE
[1669]  TRUE FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE  TRUE
[1681]  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE FALSE FALSE  TRUE  TRUE  TRUE
[1693]  TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE FALSE  TRUE  TRUE FALSE  TRUE
[1705] FALSE  TRUE  TRUE FALSE FALSE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE FALSE
[1717] FALSE FALSE  TRUE  TRUE  TRUE FALSE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE
[1729]  TRUE FALSE  TRUE FALSE  TRUE  TRUE FALSE  TRUE FALSE FALSE  TRUE  TRUE
[1741]  TRUE FALSE  TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE  TRUE  TRUE
[1753]  TRUE  TRUE FALSE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE FALSE
[1765] FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE
[1777]  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE  TRUE  TRUE
[1789] FALSE FALSE FALSE  TRUE  TRUE  TRUE FALSE FALSE  TRUE FALSE FALSE FALSE
[1801]  TRUE FALSE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE
[1813] FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE
[1825]  TRUE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE  TRUE FALSE  TRUE
[1837]  TRUE  TRUE FALSE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE
[1849]  TRUE FALSE  TRUE FALSE FALSE  TRUE FALSE  TRUE  TRUE FALSE  TRUE  TRUE
[1861] FALSE  TRUE  TRUE  TRUE FALSE FALSE FALSE  TRUE FALSE  TRUE  TRUE  TRUE
[1873]  TRUE FALSE  TRUE FALSE FALSE  TRUE  TRUE  TRUE FALSE  TRUE FALSE FALSE
[1885]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE
[1897] FALSE  TRUE  TRUE  TRUE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
[1909] FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE FALSE FALSE  TRUE  TRUE
[1921]  TRUE FALSE

Use the transform() or within() functions

# read data again (in order to get original occ, edu and sex variables)
incex <- read.table('income_exmpl.dat', header = T, sep = "\t")
summary(incex)
     sex                 age            edu                occ           
 Length:1922        Min.   :18.00   Length:1922        Length:1922       
 Class :character   1st Qu.:31.00   Class :character   Class :character  
 Mode  :character   Median :42.00   Mode  :character   Mode  :character  
                    Mean   :41.69                                        
                    3rd Qu.:52.00                                        
                    Max.   :65.00                                        
      oexp          income    
 Min.   : 0.0   Min.   : 704  
 1st Qu.: 8.0   1st Qu.:1117  
 Median :19.0   Median :1304  
 Mean   :19.5   Mean   :1313  
 3rd Qu.:30.0   3rd Qu.:1506  
 Max.   :48.0   Max.   :2115  
incex <- transform(incex, 
   occ = factor(occ, levels = c('low', 'med.', 'high')),
   edu = factor(edu, levels = c('low', 'med.', 'high')),
   sex = factor(sex, levels = c('m', 'f'), labels = c('male', 'female'))
)
summary(incex)
     sex            age          edu        occ           oexp     
 male  :1069   Min.   :18.00   low :811   low :595   Min.   : 0.0  
 female: 853   1st Qu.:31.00   med.:692   med.:700   1st Qu.: 8.0  
               Median :42.00   high:419   high:627   Median :19.0  
               Mean   :41.69                         Mean   :19.5  
               3rd Qu.:52.00                         3rd Qu.:30.0  
               Max.   :65.00                         Max.   :48.0  
     income    
 Min.   : 704  
 1st Qu.:1117  
 Median :1304  
 Mean   :1313  
 3rd Qu.:1506  
 Max.   :2115  
# read data again (in order to get original occ, edu and sex variables)
incex <- read.table('income_exmpl.dat', header = T, sep = "\t")
summary(incex)
     sex                 age            edu                occ           
 Length:1922        Min.   :18.00   Length:1922        Length:1922       
 Class :character   1st Qu.:31.00   Class :character   Class :character  
 Mode  :character   Median :42.00   Mode  :character   Mode  :character  
                    Mean   :41.69                                        
                    3rd Qu.:52.00                                        
                    Max.   :65.00                                        
      oexp          income    
 Min.   : 0.0   Min.   : 704  
 1st Qu.: 8.0   1st Qu.:1117  
 Median :19.0   Median :1304  
 Mean   :19.5   Mean   :1313  
 3rd Qu.:30.0   3rd Qu.:1506  
 Max.   :48.0   Max.   :2115  
incex <- within(incex, {
   occ <- factor(occ, levels = c('low', 'med.', 'high'))
   edu <- factor(edu, levels = c('low', 'med.', 'high'))
   sex <- factor(sex, levels = c('m', 'f'), labels = c('male', 'female'))
})
summary(incex)
     sex            age          edu        occ           oexp     
 male  :1069   Min.   :18.00   low :811   low :595   Min.   : 0.0  
 female: 853   1st Qu.:31.00   med.:692   med.:700   1st Qu.: 8.0  
               Median :42.00   high:419   high:627   Median :19.0  
               Mean   :41.69                         Mean   :19.5  
               3rd Qu.:52.00                         3rd Qu.:30.0  
               Max.   :65.00                         Max.   :48.0  
     income    
 Min.   : 704  
 1st Qu.:1117  
 Median :1304  
 Mean   :1313  
 3rd Qu.:1506  
 Max.   :2115  

Clean up - delete objects

objects()
 [1] "A"             "age"           "age.ord"       "B"            
 [5] "inc"           "incex"         "incex18"       "smpl.ind"     
 [9] "x"             "x.df"          "x.df.complete" "y"            
rm(x, y, age, inc, age.ord, incex18, x.df, x.df.complete)
objects()
[1] "A"        "B"        "incex"    "smpl.ind"

10. Basic Computing with Data

Simple statistics for a data vector

table(incex$edu)    

 low med. high 
 811  692  419 
mean(incex$age)      
[1] 41.68835
median(incex$age)
[1] 42
range(incex$age)
[1] 18 65
quantile(incex$age)
  0%  25%  50%  75% 100% 
  18   31   42   52   65 
summary(incex$age)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  18.00   31.00   42.00   41.69   52.00   65.00 
summary(incex$edu)
 low med. high 
 811  692  419 
mean(incex$income)
[1] 1313.145
mean(incex$income[incex$edu == 'low'])  # mean for a subset
[1] 1178.983
tapply(incex$income, incex$edu, mean)   # means by educational level
     low     med.     high 
1178.983 1335.103 1536.561 
tapply(incex$income, list(incex$edu, incex$occ), mean)  # by education & occ. status
          low     med.     high
low  1060.534 1306.302 1503.111
med. 1110.309 1270.835 1555.839
high       NA 1305.747 1600.598
tapply(incex$income, list(incex$edu, incex$occ), sd)    # corresp. standard dev.
          low     med.     high
low  152.3427 159.2897 124.9030
med. 145.8130 159.7552 145.8256
high       NA 148.7302 171.3144

Use with() or attach() and detach()

# alternatively use with() instead of repeated 'incex$"
with(incex, tapply(income, edu, mean))
     low     med.     high 
1178.983 1335.103 1536.561 
with(incex, tapply(income, list(edu, occ), mean))
          low     med.     high
low  1060.534 1306.302 1503.111
med. 1110.309 1270.835 1555.839
high       NA 1305.747 1600.598
# or attach() and detach()
# income               # not found since "income" only exist within "incex"
attach(incex)        # makes all variable of the incex data frame available
head(income)
[1]  953 1224 1466 1339 1184 1196
tapply(income, edu, mean)
     low     med.     high 
1178.983 1335.103 1536.561 
tapply(income, list(edu, occ), mean)
          low     med.     high
low  1060.534 1306.302 1503.111
med. 1110.309 1270.835 1555.839
high       NA 1305.747 1600.598
detach(incex)        # after you are done, detach data set
# income

# !!! WARNING: in order to avoid confusions when manipulating data
# avoid using attach() and detach() !!! But attaching data is useful for plotting.     

11. Writing Simple Functions

# ::::: mean value & standard dev. :::::
mean.val <- function(x)
{
   # computes mean value of vector x
   sum(x) / length(x)
}

mean.val             # without (), prints the body of the function
function(x)
{
   # computes mean value of vector x
   sum(x) / length(x)
}
mean.val(incex$income)
[1] 1313.145
mean(incex$income)
[1] 1313.145
sd.val <- function(x)
{
   # computes standard deviation of vector x
   sqrt(sum((x - mean.val(x))^2) / (length(x) - 1))
}

sd.val(incex$income)
[1] 255.5624
sd(incex$income)
[1] 255.5624
# define your own my.summary() function
my.summary <- function(x)
{
   # returns mean, sd, n, and standard error
   # x ... numeric vector (no missings allowed)

   m <- mean.val(x)
   s <- sd.val(x)
   n <- length(x)
   se <- s / sqrt(n)  # standard error
   c(mean = m, std.dev = s, n = n, s.e. = se)
}

my.summary(incex$income)
       mean     std.dev           n        s.e. 
1313.145161  255.562379 1922.000000    5.829351 

12. Visualizing Data

Histogram & kernel density estimation

attach(incex)        # attaches a data frame such that variables (colums)
                     # are directly accessible by their name
                     # after you no longer need the attached data frame detach() it

hist(income)

hist(income, prob = T)
lines(density(income), col = 'red')  # kernel density estimate; lines() adds lines to the active plot

detach(incex)        # detaches the incex data frame


library(lattice)     # load "lattice"-package: more fancy histograms and density plots

                     # most convenient with formula method
histogram(~ income, data = incex)

histogram(~ income | sex, data = incex)        # plot income by sex

histogram(~ income | sex * edu, data = incex)  # plot income by sex x edu

densityplot(~ income, data = incex)

densityplot(~ income | sex, data = incex)

densityplot(~ income | sex * edu, data = incex)

Barplot

barplot(table(incex$occ), main = 'occupational status')

barplot(table(incex$edu), main = 'education')

plot(~ occ, data = incex)      # alternative way

table(incex$age)

18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 
12  8 15 18 29 31 38 62 48 50 38 49 50 44 52 43 50 48 44 53 30 48 46 48 53 43 
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 
34 49 42 48 51 48 41 53 49 49 38 44 43 47 47 49 38 24 36 19 15  8 
plot(occ ~ age, data = incex)   # plot calls spineplot
spineplot(occ ~ age, data = incex)

cdplot(occ ~ age, data = incex) # conditional density plot

barplot(table(incex$occ, incex$edu), main = 'occupational status', xlab="edu", ylab="occ")

barplot(prop.table(table(incex$occ, incex$edu), 2), main = 'occupational status', xlab="edu", ylab="occ")

plot(occ ~ edu, data = incex)
plot(occ ~ edu + sex, data = incex)  # need mouse or keyboard entry to confirm page change

mosaicplot(occ ~ edu, data = incex)

mosaicplot(edu ~ occ, data = incex)

mosaicplot(occ ~ edu + sex, data = incex)

mosaicplot(occ ~ edu + sex, data = incex, color = c('blue', 'red'))

mosaicplot(~ occ + edu + sex, data = incex)  # alternative formula

Scatter Plot

plot(income ~ oexp, data = incex)

coplot(income ~ oexp | edu, data = incex)

coplot(income ~ oexp | edu * occ, data = incex)

# from the "lattice"-package
xyplot(income ~ oexp, data = incex)

xyplot(income ~ oexp | edu, data = incex)

xyplot(income ~ oexp | edu * occ, data = incex)

13. Basic Tables

sapply(incex, mean)
Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
returning NA

Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
returning NA

Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
returning NA
       sex        age        edu        occ       oexp     income 
        NA   41.68835         NA         NA   19.49792 1313.14516 
sapply(incex, class)
      sex       age       edu       occ      oexp    income 
 "factor" "integer"  "factor"  "factor" "integer" "integer" 
sapply(incex, function(x) sum(is.na(x)))
   sex    age    edu    occ   oexp income 
     0      0      0      0      0      0 
apply(incex, 2, function(x) sum(is.na(x)))
   sex    age    edu    occ   oexp income 
     0      0      0      0      0      0 
apply(incex, 1, function(x) sum(is.na(x)))
   1    2    3    4    5    6    7    8    9   10   11   12   13   14   15   16 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
  17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
  33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
  49   50   51   52   53   54   55   56   57   58   59   60   61   62   63   64 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
  65   66   67   68   69   70   71   72   73   74   75   76   77   78   79   80 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
  81   82   83   84   85   86   87   88   89   90   91   92   93   94   95   96 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
  97   98   99  100  101  102  103  104  105  106  107  108  109  110  111  112 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 113  114  115  116  117  118  119  120  121  122  123  124  125  126  127  128 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 129  130  131  132  133  134  135  136  137  138  139  140  141  142  143  144 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 145  146  147  148  149  150  151  152  153  154  155  156  157  158  159  160 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 161  162  163  164  165  166  167  168  169  170  171  172  173  174  175  176 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 177  178  179  180  181  182  183  184  185  186  187  188  189  190  191  192 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 193  194  195  196  197  198  199  200  201  202  203  204  205  206  207  208 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 209  210  211  212  213  214  215  216  217  218  219  220  221  222  223  224 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 225  226  227  228  229  230  231  232  233  234  235  236  237  238  239  240 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 241  242  243  244  245  246  247  248  249  250  251  252  253  254  255  256 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 257  258  259  260  261  262  263  264  265  266  267  268  269  270  271  272 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 273  274  275  276  277  278  279  280  281  283  284  285  286  287  288  289 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 290  291  292  293  294  295  296  297  298  299  300  301  302  303  304  305 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 306  307  308  309  310  311  312  313  314  315  316  317  318  319  320  321 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 322  323  324  325  326  327  328  329  330  331  332  333  334  335  336  337 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 338  339  340  341  342  343  344  345  346  347  348  349  350  351  352  353 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 354  355  356  357  358  359  360  361  362  363  364  365  366  367  368  369 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 370  371  372  373  374  375  376  377  378  379  380  381  382  383  384  385 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 386  387  388  389  390  391  392  393  394  395  396  397  398  399  400  401 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 402  403  404  405  406  407  408  409  410  411  412  413  414  415  416  417 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 418  419  420  421  422  423  424  425  426  427  428  429  430  431  432  433 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 434  435  436  437  438  439  440  441  442  443  444  445  446  447  448  449 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 450  451  452  453  454  455  456  457  458  459  460  461  462  463  464  465 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 466  467  468  469  470  471  472  473  474  475  476  477  478  479  480  481 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 482  483  484  485  486  487  488  489  490  491  492  493  494  495  496  497 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 498  499  500  501  502  503  504  505  506  507  508  509  510  511  512  513 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 514  515  516  517  518  519  520  521  522  523  524  525  526  527  528  529 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 530  531  532  533  534  535  536  537  538  539  540  541  542  543  544  545 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 546  547  548  549  550  551  552  553  554  555  556  557  558  559  560  561 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 562  563  564  565  566  567  568  569  570  571  572  573  574  575  576  577 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 578  579  580  581  582  583  584  585  586  587  588  589  590  591  592  593 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 594  595  596  597  598  599  600  601  602  603  604  605  606  608  609  610 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 611  612  613  614  615  616  617  618  619  620  621  622  623  624  625  626 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 627  628  629  630  631  632  633  634  635  636  637  638  639  640  641  642 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 643  644  645  646  647  648  649  650  651  652  653  654  655  656  657  658 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 659  660  661  662  663  664  665  666  667  668  669  670  671  672  673  674 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 675  676  677  678  679  680  681  682  683  684  685  686  687  688  689  690 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 691  692  693  694  695  696  697  698  699  700  701  702  703  704  705  706 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 707  708  709  710  711  712  713  714  715  716  717  718  719  720  721  722 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 723  724  725  726  727  728  729  730  731  732  733  734  735  736  737  738 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 739  740  741  742  743  744  745  746  747  748  749  750  751  752  753  754 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 755  756  757  758  759  760  761  762  763  764  765  766  767  768  769  770 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 771  772  773  774  775  776  777  778  779  780  781  782  783  784  785  786 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 787  789  790  791  792  793  794  795  796  797  798  799  800  801  802  803 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 804  805  806  807  808  809  810  811  812  813  814  815  816  817  818  819 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 820  821  822  823  824  825  826  827  828  829  830  831  832  833  834  835 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 836  837  838  839  840  841  842  843  844  845  846  847  848  849  850  851 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 852  853  854  855  856  857  858  859  860  861  862  863  864  865  866  867 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 868  869  870  871  872  873  874  875  876  877  878  879  880  881  882  883 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 884  885  886  887  888  889  890  891  892  893  894  895  896  897  898  899 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 900  901  902  903  904  905  906  907  908  909  910  911  912  913  914  915 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 916  917  918  919  920  921  922  923  924  925  926  927  928  929  930  931 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 932  933  934  935  936  937  938  939  940  941  942  943  944  945  946  947 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 948  949  950  951  952  953  954  955  956  957  958  959  960  961  962  963 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 964  965  966  967  968  969  970  971  972  973  974  975  976  977  978  979 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 980  981  982  983  984  985  986  987  988  989  990  991  992  993  994  995 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
 996  997  998  999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1092 1093 1094 1095 1096 1097 1098 1100 1101 1102 1103 1104 1105 1106 1107 1108 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1284 1285 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 
   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
1926 1927 
   0    0 

Create tables

xtabs(~ occ + edu, data = incex)  # with formula method
      edu
occ    low med. high
  low  485  110    0
  med. 245  364   91
  high  81  218  328
xtabs(~ sex, data = incex)
sex
  male female 
  1069    853 
xtabs(income ~ sex, data = incex) # sum of income
sex
   male  female 
1515297 1008568 
xtabs(income ~ sex, data = incex) / xtabs( ~ sex, data = incex) # mean income by sex
sex
    male   female 
1417.490 1182.377 
with(incex, tapply(income, sex, mean))
    male   female 
1417.490 1182.377 
with(incex, tapply(income, list(occ, edu), mean))
          low     med.     high
low  1060.534 1110.309       NA
med. 1306.302 1270.835 1305.747
high 1503.111 1555.839 1600.598

Compare group means

with(incex, tapply(income, sex, summary))
$male
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
    772    1239    1425    1417    1584    2115 

$female
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
    704    1028    1157    1182    1334    1919 
with(incex, tapply(income, sex, mean))
    male   female 
1417.490 1182.377 
with(incex, tapply(income, sex, sd))
    male   female 
232.9100 220.1769 
with(incex, tapply(income, sex, sd) / sqrt(c(table(sex))))  # s.e.
    male   female 
7.123595 7.538714 
boxplot(income ~ sex, data = incex, varwidth = T, horizontal = T)

boxplot(income ~ sex, data = incex, varwidth = F, horizontal = T)

t.test(income ~ sex, data = incex)

    Welch Two Sample t-test

data:  income by sex
t = 22.668, df = 1866, p-value < 2.2e-16
alternative hypothesis: true difference in means between group male and group female is not equal to 0
95 percent confidence interval:
 214.7708 255.4546
sample estimates:
  mean in group male mean in group female 
            1417.490             1182.377 
t.test(income ~ sex, data = incex, var.equal = T)

    Two Sample t-test

data:  income by sex
t = 22.525, df = 1920, p-value < 2.2e-16
alternative hypothesis: true difference in means between group male and group female is not equal to 0
95 percent confidence interval:
 214.6423 255.5831
sample estimates:
  mean in group male mean in group female 
            1417.490             1182.377 

Crosstables

with(incex, table(sex))
sex
  male female 
  1069    853 
tab <- with(incex, table(sex, edu))
tab
        edu
sex      low med. high
  male   450  402  217
  female 361  290  202
plot(sex ~ edu, data = incex)

chisq.test(tab)

    Pearson's Chi-squared test

data:  tab
X-squared = 4.2096, df = 2, p-value = 0.1219
tab <- with(incex, table(occ, edu))
tab
      edu
occ    low med. high
  low  485  110    0
  med. 245  364   91
  high  81  218  328
plot(occ ~ edu, data = incex)

chisq.test(tab)

    Pearson's Chi-squared test

data:  tab
X-squared = 877, df = 4, p-value < 2.2e-16
tab <- with(incex, table(occ, edu, sex))
tab
, , sex = male

      edu
occ    low med. high
  low  183   40    0
  med. 186  175   33
  high  81  187  184

, , sex = female

      edu
occ    low med. high
  low  302   70    0
  med.  59  189   58
  high   0   31  144
addmargins(tab)         # add totals to table
, , sex = male

      edu
occ     low med. high  Sum
  low   183   40    0  223
  med.  186  175   33  394
  high   81  187  184  452
  Sum   450  402  217 1069

, , sex = female

      edu
occ     low med. high  Sum
  low   302   70    0  372
  med.   59  189   58  306
  high    0   31  144  175
  Sum   361  290  202  853

, , sex = Sum

      edu
occ     low med. high  Sum
  low   485  110    0  595
  med.  245  364   91  700
  high   81  218  328  627
  Sum   811  692  419 1922
ftable(tab)             # print a better formated table
          sex male female
occ  edu                 
low  low       183    302
     med.       40     70
     high        0      0
med. low       186     59
     med.      175    189
     high       33     58
high low        81      0
     med.      187     31
     high      184    144
ftable(addmargins(tab))
          sex male female  Sum
occ  edu                      
low  low       183    302  485
     med.       40     70  110
     high        0      0    0
     Sum       223    372  595
med. low       186     59  245
     med.      175    189  364
     high       33     58   91
     Sum       394    306  700
high low        81      0   81
     med.      187     31  218
     high      184    144  328
     Sum       452    175  627
Sum  low       450    361  811
     med.      402    290  692
     high      217    202  419
     Sum      1069    853 1922
mosaicplot(occ ~ edu + sex, data = incex)

14. Basic Data Structures

Vectors (numeric & character)

(v <- c(3, -2, 13, 10.5))
[1]  3.0 -2.0 13.0 10.5
is.vector(v)
[1] TRUE
is.matrix(v)
[1] FALSE
length(v)
[1] 4
v[3:4]
[1] 13.0 10.5
(v2 <- c('a', 'b', 'c', 'b'))
[1] "a" "b" "c" "b"
is.vector(v2)
[1] TRUE
length(v2)
[1] 4
v2[3:4]
[1] "c" "b"
names(v) <- names(v2) <- 1:4
v
   1    2    3    4 
 3.0 -2.0 13.0 10.5 
v2
  1   2   3   4 
"a" "b" "c" "b" 

Factor

(f <- factor(c(0, 1, 1, 0)))
[1] 0 1 1 0
Levels: 0 1
(f <- factor(c(0, 1, 1, 0), labels = c('male', 'female')))
[1] male   female female male  
Levels: male female
is.factor(f)
[1] TRUE
length(f)
[1] 4
f[3:4]
[1] female male  
Levels: male female
(f2 <- as.factor(v2))      # transform a character vector into a factor
1 2 3 4 
a b c b 
Levels: a b c

Matrix

(m <- matrix(1:20, nrow = 4, ncol = 5))
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    5    9   13   17
[2,]    2    6   10   14   18
[3,]    3    7   11   15   19
[4,]    4    8   12   16   20
is.matrix(m)
[1] TRUE
dim(m)
[1] 4 5
m[2:3, 3:4]
     [,1] [,2]
[1,]   10   14
[2,]   11   15
dimnames(m) <- list(1:4, paste('X', 1:5, sep = ''))
m
  X1 X2 X3 X4 X5
1  1  5  9 13 17
2  2  6 10 14 18
3  3  7 11 15 19
4  4  8 12 16 20
m[2:3, c('X3', 'X4')]
  X3 X4
2 10 14
3 11 15
(m2 <- cbind(v, m))        # create a matrix by binding columns together
     v X1 X2 X3 X4 X5
1  3.0  1  5  9 13 17
2 -2.0  2  6 10 14 18
3 13.0  3  7 11 15 19
4 10.5  4  8 12 16 20
is.matrix(m2)
[1] TRUE
is.data.frame(m2)
[1] FALSE
(m3 <- cbind(v, v2, f, m)) # matrix of character strings
  v      v2  f   X1  X2  X3   X4   X5  
1 "3"    "a" "1" "1" "5" "9"  "13" "17"
2 "-2"   "b" "2" "2" "6" "10" "14" "18"
3 "13"   "c" "2" "3" "7" "11" "15" "19"
4 "10.5" "b" "1" "4" "8" "12" "16" "20"

Data frame

(d <- data.frame(v, v2, f, m))
     v v2      f X1 X2 X3 X4 X5
1  3.0  a   male  1  5  9 13 17
2 -2.0  b female  2  6 10 14 18
3 13.0  c female  3  7 11 15 19
4 10.5  b   male  4  8 12 16 20
is.data.frame(d)
[1] TRUE
is.matrix(d)
[1] FALSE
dim(d)
[1] 4 8
d[2:3, c('X3', 'X4')]
  X3 X4
2 10 14
3 11 15
d[, 'X3']                  # select variable X3
[1]  9 10 11 12
d$X3                       # alternative way to select X3
[1]  9 10 11 12
# m3$X3                      # does not work for matrices, only works for data frames

dimnames(d)                # names can be changed as for the matrix above
[[1]]
[1] "1" "2" "3" "4"

[[2]]
[1] "v"  "v2" "f"  "X1" "X2" "X3" "X4" "X5"

List

(l <- list(v, v2, f, m))   # list with four list elements
[[1]]
   1    2    3    4 
 3.0 -2.0 13.0 10.5 

[[2]]
  1   2   3   4 
"a" "b" "c" "b" 

[[3]]
[1] male   female female male  
Levels: male female

[[4]]
  X1 X2 X3 X4 X5
1  1  5  9 13 17
2  2  6 10 14 18
3  3  7 11 15 19
4  4  8 12 16 20
is.list(l)
[1] TRUE
length(l)
[1] 4
l[4]                       # fourth list element returned as a list of length 1 (containing a matrix)
[[1]]
  X1 X2 X3 X4 X5
1  1  5  9 13 17
2  2  6 10 14 18
3  3  7 11 15 19
4  4  8 12 16 20
l[[4]]                     # fourth list element returned as matrix
  X1 X2 X3 X4 X5
1  1  5  9 13 17
2  2  6 10 14 18
3  3  7 11 15 19
4  4  8 12 16 20
(l <- list(V1 = v, V2 = v2, sex = f, data = m))   # list with assigned names
$V1
   1    2    3    4 
 3.0 -2.0 13.0 10.5 

$V2
  1   2   3   4 
"a" "b" "c" "b" 

$sex
[1] male   female female male  
Levels: male female

$data
  X1 X2 X3 X4 X5
1  1  5  9 13 17
2  2  6 10 14 18
3  3  7 11 15 19
4  4  8 12 16 20
l$sex
[1] male   female female male  
Levels: male female